123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- 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
- }
- }
|