import java.io.PrintStream;

public class NodeGhost {

	int guid;
	int domguid;
	int d;
	int ed;
	boolean inCore;
	
	//an adversary will create node ghosts differently with bad information
	public NodeGhost(Node n) {
		guid = n.getGuid();
		domguid = n.getDomguid();
		d = n.degree();
		ed = n.effectiveDegree();
		inCore = n.inCore();
	}
	
	public void updateFrom(NodeGhost src) {
		guid = src.guid;
		domguid = src.domguid;
		d = src.d;
		ed = src.ed;
		inCore = src.inCore;
	}
	
	public void printLocal(PrintStream o) {
		o.println("  Node " + guid);
		o.println("  Dominator " + domguid);
		o.println("  In core: " + inCore);
		o.println("  Effective Degree: " + ed);
		o.println("  Degree: " + d);
	}
	

	public int getD() {
		return d;
	}

	public void setD(int d) {
		this.d = d;
	}

	public int getDomguid() {
		return domguid;
	}

	public void setDomguid(int domguid) {
		this.domguid = domguid;
	}

	public int getEd() {
		return ed;
	}

	public void setEd(int ed) {
		this.ed = ed;
	}

	public int getGuid() {
		return guid;
	}

	public void setGuid(int guid) {
		this.guid = guid;
	}

	public boolean isInCore() {
		return inCore;
	}

	public void setInCore(boolean inCore) {
		this.inCore = inCore;
	}
	
	
	
}
