|
@@ -6,8 +6,8 @@ public class HolonBattery extends AbstractCpsObject{
|
|
|
private float outRatio;
|
|
|
private float capasity;
|
|
|
private float stateOfCharge;
|
|
|
-
|
|
|
-
|
|
|
+ public enum State{STANDBY, COLLECT, EMIT};
|
|
|
+ private State state;
|
|
|
|
|
|
* @param ObjName
|
|
|
*/
|
|
@@ -18,6 +18,7 @@ public class HolonBattery extends AbstractCpsObject{
|
|
|
outRatio = 0;
|
|
|
capasity = 0;
|
|
|
stateOfCharge = 0;
|
|
|
+ setState(State.STANDBY);
|
|
|
}
|
|
|
|
|
|
* @param obj Object to copy.
|
|
@@ -25,15 +26,12 @@ public class HolonBattery extends AbstractCpsObject{
|
|
|
public HolonBattery(AbstractCpsObject obj)
|
|
|
{
|
|
|
super(obj);
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- * TestFunction for functionality
|
|
|
- */
|
|
|
- public void HelloWorld()
|
|
|
- {
|
|
|
- System.out.println("JO");
|
|
|
+ super.setName(obj.getName());
|
|
|
+ setInRatio(((HolonBattery) obj).getInRatio());
|
|
|
+ setOutRatio(((HolonBattery) obj).getOutRatio());
|
|
|
+ setCapasity(((HolonBattery) obj).getCapasity());
|
|
|
+ setStateOfCharge(((HolonBattery) obj).getStateOfCharge());
|
|
|
+ setState(State.STANDBY);
|
|
|
}
|
|
|
public float getStateOfCharge() {
|
|
|
return stateOfCharge;
|
|
@@ -43,12 +41,21 @@ public class HolonBattery extends AbstractCpsObject{
|
|
|
{
|
|
|
stateOfCharge = capasity;
|
|
|
}
|
|
|
+ else if(stateOfCharge < 0)
|
|
|
+ {
|
|
|
+ stateOfCharge = 0;
|
|
|
+ }
|
|
|
this.stateOfCharge = stateOfCharge;
|
|
|
}
|
|
|
public float getCapasity() {
|
|
|
+
|
|
|
return capasity;
|
|
|
}
|
|
|
- public void setCapasity(float capasity) {
|
|
|
+ public void setCapasity(float capasity) {
|
|
|
+ if(capasity < 0)
|
|
|
+ {
|
|
|
+ capasity = 0;
|
|
|
+ }
|
|
|
this.capasity = capasity;
|
|
|
}
|
|
|
public float getOutRatio() {
|
|
@@ -62,7 +69,22 @@ public class HolonBattery extends AbstractCpsObject{
|
|
|
this.outRatio = outRatio;
|
|
|
}
|
|
|
public float getInRatio() {
|
|
|
- return inRatio;
|
|
|
+ return inRatio;
|
|
|
+ }
|
|
|
+
|
|
|
+ public float getIN()
|
|
|
+ {
|
|
|
+ if(getCapasity() - getStateOfCharge() < inRatio)
|
|
|
+ return getCapasity() - getStateOfCharge();
|
|
|
+ else
|
|
|
+ return inRatio;
|
|
|
+ }
|
|
|
+ public float getOUT()
|
|
|
+ {
|
|
|
+ if(getStateOfCharge() < outRatio)
|
|
|
+ return getStateOfCharge();
|
|
|
+ else
|
|
|
+ return outRatio;
|
|
|
}
|
|
|
public void setInRatio(float inRatio) {
|
|
|
if(inRatio < 0)
|
|
@@ -71,4 +93,30 @@ public class HolonBattery extends AbstractCpsObject{
|
|
|
}
|
|
|
this.inRatio = inRatio;
|
|
|
}
|
|
|
+ public State getState() {
|
|
|
+ return state;
|
|
|
+ }
|
|
|
+ public void setState(State state) {
|
|
|
+ this.state = state;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * @return The String that is over the Battery in the Canvas if COLLECT the
|
|
|
+ * input if EMIT the output of the Battery
|
|
|
+ */
|
|
|
+ public String getCanvasBatteryString()
|
|
|
+ {
|
|
|
+ switch(getState())
|
|
|
+ {
|
|
|
+ case COLLECT:
|
|
|
+ return "-" + Float.toString(getIN());
|
|
|
+ case EMIT:
|
|
|
+ return "+" + Float.toString(getOUT());
|
|
|
+ case STANDBY:
|
|
|
+ default:
|
|
|
+ return "0";
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|