|
@@ -1,101 +0,0 @@
|
|
|
-package algo;
|
|
|
-
|
|
|
-import classes.HolonElement;
|
|
|
-import classes.HolonObject;
|
|
|
-import classes.HolonBattery.State;
|
|
|
-
|
|
|
-public class StorageObject extends HolonObject {
|
|
|
-
|
|
|
- private Mode status;
|
|
|
- private float stateOfCharge;
|
|
|
- private float capacity;
|
|
|
- private float inRatio;
|
|
|
- private float maxInRatio;
|
|
|
- private float outRatio;
|
|
|
- private float maxOutRatio;
|
|
|
-
|
|
|
- public StorageObject(String objName) {
|
|
|
- super(objName);
|
|
|
- maxInRatio = 5000.0f;
|
|
|
- this.addElement(new HolonElement("Collector", 1, 0, null));
|
|
|
- maxOutRatio = 5000.0f;
|
|
|
- this.addElement(new HolonElement("Emitter", 1, 0, null));
|
|
|
- // TODO: das ist ja in pro stunde nicht pro iteration
|
|
|
- capacity = 10000.0f;
|
|
|
- stateOfCharge = 0;
|
|
|
- setStatus(Mode.STANDBY, 0);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public Mode getStatus() {
|
|
|
- return this.status;
|
|
|
- }
|
|
|
-
|
|
|
- public void setStatus(Mode status, float energyNeed) {
|
|
|
- switch (status) {
|
|
|
- case STANDBY:
|
|
|
- setStorageBehaviour(0, 0);
|
|
|
- break;
|
|
|
- case EMIT:
|
|
|
- setStorageBehaviour(0, energyNeed);
|
|
|
- break;
|
|
|
- case COLLECT:
|
|
|
-// if
|
|
|
- setStorageBehaviour(-energyNeed, 0);
|
|
|
- break;
|
|
|
- }
|
|
|
- this.status = status;
|
|
|
- }
|
|
|
-
|
|
|
- private void setStorageBehaviour(float collector, float emitter) {
|
|
|
- for (HolonElement ele : this.getElements()) {
|
|
|
- if (ele.getObjName().equals("Collector")) {
|
|
|
- ele.setEnergyPerElement(collector);
|
|
|
- }
|
|
|
- if (ele.getObjName().equals("Emitter")) {
|
|
|
- ele.setEnergyPerElement(emitter);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public float getStateOfCharge() {
|
|
|
- return stateOfCharge;
|
|
|
- }
|
|
|
-
|
|
|
- public void setStateOfCharge(float stateOfCharge) {
|
|
|
- this.stateOfCharge = stateOfCharge;
|
|
|
- }
|
|
|
-
|
|
|
- public float getCapacity() {
|
|
|
- return capacity;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- public float getInRatio() {
|
|
|
- return inRatio;
|
|
|
- }
|
|
|
-
|
|
|
- public void setInRatio(float inRatio) {
|
|
|
- this.inRatio = inRatio;
|
|
|
- }
|
|
|
-
|
|
|
- public float getMaxInRation() {
|
|
|
- return maxInRatio;
|
|
|
- }
|
|
|
-
|
|
|
- public float getOutRatio() {
|
|
|
- return outRatio;
|
|
|
- }
|
|
|
-
|
|
|
- public void setOutRatio(float outRatio) {
|
|
|
- this.outRatio = outRatio;
|
|
|
- }
|
|
|
-
|
|
|
- public float getMaxOutRatio() {
|
|
|
- return maxOutRatio;
|
|
|
- }
|
|
|
-
|
|
|
- public enum Mode {
|
|
|
- COLLECT, EMIT, STANDBY
|
|
|
- }
|
|
|
-}
|