package classes; import java.util.ArrayList; public class HolonObject extends CpsObject { /* Array of all consumers */ private ArrayList elements; /* Total of consumption */ private float currentEnergy; /** * State of the building: 0 = fully supplied (currentEnergy == 0) 1 = not * enough energy (currentEnergy > 0) 2 = oversupplied (currentEnergy < 0) */ int state; /** * Constructor Set by default the name of the object equals to the category * name, until the user changes it. */ public HolonObject(String ObjName) { super(ObjName); setElements(new ArrayList()); } public HolonObject(String ObjName, String obj) { super(ObjName); super.setName(obj); setElements(new ArrayList()); } public HolonObject(CpsObject obj) { super(obj); setElements(((HolonObject) obj).getCopyofElements()); } /** * @return the elements */ public ArrayList getElements() { return elements; } /** * @param elements * the elements to set */ public void setElements(ArrayList elements) { this.elements = elements; } /** * @return the currentEnergy */ public float getCurrentEnergy() { return currentEnergy; } /** * @param currentEnergy * the currentEnergy to set */ public void setCurrentEnergy(float currentEnergy) { this.currentEnergy = currentEnergy; } /** * deletes Element * * @param idx */ public void deleteElement(int idx) { elements.remove(idx); } public float calculateCurrentEnergy() { return currentEnergy; } /** * String of all consumers in this HolonObject * * @return all the names of this HolonObject separated by "," each object */ public String toStringElements() { String objString = "Empty"; for (HolonElement e : elements) { if (objString == "Empty") { objString = e.getEleName(); } else { objString = objString + ", " + e.getEleName(); } } return objString; } /** * Copys the ArrayList * * @param the ArrayList to Copy * * @return the currentEnergy */ public ArrayList getCopyofElements() { ArrayList temp = new ArrayList<>(); for (HolonElement h : elements) { HolonElement he = new HolonElement(h); temp.add(he); } return temp; } }