package edu.wheaton.simulator.entity;

public class AgentID implements Comparable<AgentID>{
	private static Integer nextID = 0;
	
	private final Integer value;
	
	protected AgentID(){
		value = genIDValue();
	}
	
	public final Integer getInt(){
		return value;
	}
	
	@Override
	public String toString(){
		return value.toString();
	}

	private static synchronized final Integer genIDValue() {
		Integer id = nextID;
		++nextID;
		return id;
	}

	@Override
	public int compareTo(AgentID o) {
		return this.getInt().compareTo(o.getInt());
	}
	
	public boolean equals(AgentID o){
		return this.getInt().equals(o.getInt());
	}
}

@@ -32,16 +32,885 @@
 ntity;%0A%0A
+/**%0A * BRANDON's README:%0A * %0A * Today is a very busy day and I was unable to sort out the 'ideal'%0A * ID interface setup. So I will give you the intended rundown:%0A * %0A * Rename: Agent.getID() -%3E Agent.getAgentID()%0A * New Method: Entity.getEntityID()%0A * New Method: Prototype.getPrototypeID()%0A * %0A * New class: EntityID%0A * New class PrototypeID%0A * %0A * These changes will allow for a clear distinction between Agents,%0A * Prototypes, and other subclasses of Entity while at the same time%0A * allowing for a higher level of genericness by having two ID's: an EntityID%0A * and then a Prototype or Agent ID. The database aspect of Entity has been commented%0A * out because it is not being used and will cause foreseeable garbage collection issues.%0A * Again, sorry about the instability caused by my API changes. I will try to communicate%0A * more effectively in the future.%0A * /%0A%0A
 public c

Update AgentID.java