package classes; import java.util.ArrayList; import Interfaces.ComparableObject; import ui.model.idCounter; public abstract class CpsObject implements ComparableObject { /* Type of the Object */ String objName; /* Name given by the user */ String name; /* ID of the Obj. */ int ID; /* Path of the image for the Obj. */ String image; /* Array of neighbors */ ArrayList connections; /* Position with a X and Y value */ Position position; /* Energy input and output of each object in the grid */ String stored; float energyIn; float energyOut; /** * Constructor for an CpsObejct with an unique ID */ public CpsObject(String objName) { setObjName(objName); setName(objName); setImage("/Images/Dummy_House.png"); } public CpsObject(CpsObject obj) { setObjName(obj.getObjName()); setName(obj.getObjName()); setConnections(new ArrayList()); setPosition(new Position()); setID(idCounter.nextId()); setEnergyIn(obj.getEnergyIn()); setEnergyOut(obj.getEnergyOut()); setImage(obj.getImage()); } /* Obj type */ public String getObjName() { return objName; } public void setObjName(String objName) { this.objName = objName; } /* User defined Name */ public String getName() { return name; } public void setName(String name) { this.name = name; } /* Unique ID number */ public int getID() { return ID; } /** * @param iD * the iD to set */ public void setID(int ID) { this.ID = ID; } /* Image path */ public String getImage() { return image; } public void setImage(String image) { this.image = image; } /** * @return the connections */ public ArrayList getConnections() { return connections; } /** * @param arrayList * the connections to set */ public void setConnections(ArrayList arrayList) { this.connections = arrayList; } /* Neighbors array */ public ArrayList getConnectedTo() { return connections; } public void AddConnection(CpsEdge toConnect) { connections.add(toConnect); } public void setPosition(Position pos) { this.position = pos; } /* Position (x and Y) */ public void setPosition(int x, int y) { setPosition(new Position(x, y)); } public Position getPosition() { return position; } /** * @return the stored */ public String getStored() { return stored; } /** * @param stored the stored to set */ public void setStored(String stored) { this.stored = stored; } /* Getter and Setters for the energy input and output */ public float getEnergyIn() { return energyIn; } public void setEnergyIn(float energyIn) { this.energyIn = energyIn; } public float getEnergyOut() { return energyOut; } public void setEnergyOut(float energyOut) { this.energyOut = energyOut; } @Override public String getCompareName() { return objName; } }