-
Notifications
You must be signed in to change notification settings - Fork 5
/
ElectricalEnergyStorageResult.java
64 lines (56 loc) · 1.67 KB
/
ElectricalEnergyStorageResult.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
* © 2021. TU Dortmund University,
* Institute of Energy Systems, Energy Efficiency and Energy Economics,
* Research group Distribution grid planning and operation
*/
package edu.ie3.datamodel.models.result.system;
import edu.ie3.datamodel.models.StandardUnits;
import java.time.ZonedDateTime;
import java.util.Objects;
import java.util.UUID;
import javax.measure.quantity.Dimensionless;
import javax.measure.quantity.Power;
import tech.units.indriya.ComparableQuantity;
/** Represents everything, that is capable of storing electric energy */
public abstract class ElectricalEnergyStorageResult extends SystemParticipantResult {
/** State of Charge (SoC) in % */
private final ComparableQuantity<Dimensionless> soc;
protected ElectricalEnergyStorageResult(
ZonedDateTime time,
UUID inputModel,
ComparableQuantity<Power> p,
ComparableQuantity<Power> q,
ComparableQuantity<Dimensionless> soc) {
super(time, inputModel, p, q);
this.soc = soc.to(StandardUnits.SOC);
}
public ComparableQuantity<Dimensionless> getSoc() {
return soc;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ElectricalEnergyStorageResult that)) return false;
if (!super.equals(o)) return false;
return soc.equals(that.soc);
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), soc);
}
@Override
public String toString() {
return "ElectricalEnergyStorageResult{"
+ "time="
+ getTime()
+ ", inputModel="
+ getInputModel()
+ ", p="
+ getP()
+ ", q="
+ getQ()
+ "soc="
+ soc
+ '}';
}
}