Skip to content

Commit 52e8768

Browse files
authored
Merge pull request #1277 from ie3-institute/mh/#1275-new-copy-builders
Mh/#1275 new copy builders
2 parents 1ebcc56 + 5152700 commit 52e8768

19 files changed

+571
-32
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
### Added
1010
- Implemented GitHub Actions for automatic code integration. [#1237](https://github.com/ie3-institute/PowerSystemDataModel/issues/1237)
11+
- Added `CopyBuilders` to `Line-/Transformer2W-/Tranformer3WTypeInput` [#1275](https://github.com/ie3-institute/PowerSystemDataModel/issues/1275)
1112

1213
### Fixed
1314
- Fixed SonarQube junit path issue in GitHub Actions [#1284](https://github.com/ie3-institute/PowerSystemDataModel/issues/1284)

src/main/java/edu/ie3/datamodel/models/input/AssetTypeInput.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public String getId() {
2626
return id;
2727
}
2828

29+
public abstract AssetTypeInputCopyBuilder<?> copy();
30+
2931
@Override
3032
public boolean equals(Object o) {
3133
if (this == o) return true;

src/main/java/edu/ie3/datamodel/models/input/connector/type/LineTypeInput.java

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ public ComparableQuantity<ElectricPotential> getvRated() {
8282
return vRated;
8383
}
8484

85+
@Override
86+
public LineTypeInputCopyBuilder copy() {
87+
return new LineTypeInputCopyBuilder(this);
88+
}
89+
8590
@Override
8691
public boolean equals(Object o) {
8792
if (this == o) return true;
@@ -121,4 +126,70 @@ public String toString() {
121126
+ vRated
122127
+ '}';
123128
}
129+
130+
/**
131+
* Abstract class for all builder that build child entities of abstract class {@link
132+
* LineTypeInput}
133+
*/
134+
public static final class LineTypeInputCopyBuilder
135+
extends AssetTypeInput.AssetTypeInputCopyBuilder<LineTypeInputCopyBuilder> {
136+
137+
private ComparableQuantity<SpecificConductance> b;
138+
private ComparableQuantity<SpecificConductance> g;
139+
private ComparableQuantity<SpecificResistance> r;
140+
private ComparableQuantity<SpecificResistance> x;
141+
private ComparableQuantity<ElectricCurrent> iMax;
142+
private ComparableQuantity<ElectricPotential> vRated;
143+
144+
protected LineTypeInputCopyBuilder(LineTypeInput entity) {
145+
super(entity);
146+
this.b = entity.b;
147+
this.g = entity.g;
148+
this.r = entity.r;
149+
this.x = entity.x;
150+
this.iMax = entity.iMax;
151+
this.vRated = entity.vRated;
152+
}
153+
154+
/** Setter */
155+
public LineTypeInputCopyBuilder b(ComparableQuantity<SpecificConductance> b) {
156+
this.b = b;
157+
return thisInstance();
158+
}
159+
160+
public LineTypeInputCopyBuilder g(ComparableQuantity<SpecificConductance> g) {
161+
this.g = g;
162+
return thisInstance();
163+
}
164+
165+
public LineTypeInputCopyBuilder r(ComparableQuantity<SpecificResistance> r) {
166+
this.r = r;
167+
return thisInstance();
168+
}
169+
170+
public LineTypeInputCopyBuilder x(ComparableQuantity<SpecificResistance> x) {
171+
this.x = x;
172+
return thisInstance();
173+
}
174+
175+
public LineTypeInputCopyBuilder iMax(ComparableQuantity<ElectricCurrent> iMax) {
176+
this.iMax = iMax;
177+
return thisInstance();
178+
}
179+
180+
public LineTypeInputCopyBuilder vRated(ComparableQuantity<ElectricPotential> vRated) {
181+
this.vRated = vRated;
182+
return thisInstance();
183+
}
184+
185+
@Override
186+
public LineTypeInput build() {
187+
return new LineTypeInput(getUuid(), getId(), b, g, r, x, iMax, vRated);
188+
}
189+
190+
@Override
191+
protected LineTypeInputCopyBuilder thisInstance() {
192+
return this;
193+
}
194+
}
124195
}

src/main/java/edu/ie3/datamodel/models/input/connector/type/Transformer2WTypeInput.java

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,11 @@ public int getTapMax() {
142142
return tapMax;
143143
}
144144

145+
@Override
146+
public Transformer2WTypeInputCopyBuilder copy() {
147+
return new Transformer2WTypeInputCopyBuilder(this);
148+
}
149+
145150
@Override
146151
public boolean equals(Object o) {
147152
if (this == o) return true;
@@ -216,4 +221,123 @@ public String toString() {
216221
+ tapMax
217222
+ '}';
218223
}
224+
225+
/**
226+
* Abstract class for all builder that build child entities of abstract class {@link
227+
* Transformer2WTypeInput}
228+
*/
229+
public static final class Transformer2WTypeInputCopyBuilder
230+
extends AssetTypeInput.AssetTypeInputCopyBuilder<Transformer2WTypeInputCopyBuilder> {
231+
232+
private ComparableQuantity<ElectricResistance> rSc;
233+
private ComparableQuantity<ElectricResistance> xSc;
234+
private ComparableQuantity<Power> sRated;
235+
private ComparableQuantity<ElectricPotential> vRatedA;
236+
private ComparableQuantity<ElectricPotential> vRatedB;
237+
private ComparableQuantity<ElectricConductance> gM;
238+
private ComparableQuantity<ElectricConductance> bM;
239+
private ComparableQuantity<Dimensionless> dV;
240+
private ComparableQuantity<Angle> dPhi;
241+
private boolean tapSide;
242+
private int tapNeutr;
243+
private int tapMin;
244+
private int tapMax;
245+
246+
private Transformer2WTypeInputCopyBuilder(Transformer2WTypeInput entity) {
247+
super(entity);
248+
this.rSc = entity.rSc;
249+
this.xSc = entity.xSc;
250+
this.sRated = entity.sRated;
251+
this.vRatedA = entity.vRatedA;
252+
this.vRatedB = entity.vRatedB;
253+
this.gM = entity.gM;
254+
this.bM = entity.bM;
255+
this.dV = entity.dV;
256+
this.dPhi = entity.dPhi;
257+
this.tapSide = entity.tapSide;
258+
this.tapNeutr = entity.tapNeutr;
259+
this.tapMin = entity.tapMin;
260+
this.tapMax = entity.tapMax;
261+
}
262+
263+
/** Setter */
264+
public Transformer2WTypeInputCopyBuilder rSc(ComparableQuantity<ElectricResistance> rSc) {
265+
this.rSc = rSc;
266+
return thisInstance();
267+
}
268+
269+
public Transformer2WTypeInputCopyBuilder xSc(ComparableQuantity<ElectricResistance> xSc) {
270+
this.xSc = xSc;
271+
return thisInstance();
272+
}
273+
274+
public Transformer2WTypeInputCopyBuilder sRated(ComparableQuantity<Power> sRated) {
275+
this.sRated = sRated;
276+
return thisInstance();
277+
}
278+
279+
public Transformer2WTypeInputCopyBuilder vRatedA(
280+
ComparableQuantity<ElectricPotential> vRatedA) {
281+
this.vRatedA = vRatedA;
282+
return thisInstance();
283+
}
284+
285+
public Transformer2WTypeInputCopyBuilder vRatedB(
286+
ComparableQuantity<ElectricPotential> vRatedB) {
287+
this.vRatedB = vRatedB;
288+
return thisInstance();
289+
}
290+
291+
public Transformer2WTypeInputCopyBuilder gM(ComparableQuantity<ElectricConductance> gM) {
292+
this.gM = gM;
293+
return thisInstance();
294+
}
295+
296+
public Transformer2WTypeInputCopyBuilder bM(ComparableQuantity<ElectricConductance> bM) {
297+
this.bM = bM;
298+
return thisInstance();
299+
}
300+
301+
public Transformer2WTypeInputCopyBuilder dV(ComparableQuantity<Dimensionless> dV) {
302+
this.dV = dV;
303+
return thisInstance();
304+
}
305+
306+
public Transformer2WTypeInputCopyBuilder dPhi(ComparableQuantity<Angle> dPhi) {
307+
this.dPhi = dPhi;
308+
return thisInstance();
309+
}
310+
311+
public Transformer2WTypeInputCopyBuilder tapSide(boolean tapSide) {
312+
this.tapSide = tapSide;
313+
return thisInstance();
314+
}
315+
316+
public Transformer2WTypeInputCopyBuilder tapNeutr(int tapNeutr) {
317+
this.tapNeutr = tapNeutr;
318+
return thisInstance();
319+
}
320+
321+
public Transformer2WTypeInputCopyBuilder tapMin(int tapMin) {
322+
this.tapMin = tapMin;
323+
return thisInstance();
324+
}
325+
326+
public Transformer2WTypeInputCopyBuilder tapMax(int tapMax) {
327+
this.tapMax = tapMax;
328+
return thisInstance();
329+
}
330+
331+
@Override
332+
public Transformer2WTypeInput build() {
333+
return new Transformer2WTypeInput(
334+
getUuid(), getId(), rSc, xSc, sRated, vRatedA, vRatedB, gM, bM, dV, dPhi, tapSide,
335+
tapNeutr, tapMin, tapMax);
336+
}
337+
338+
@Override
339+
protected Transformer2WTypeInputCopyBuilder thisInstance() {
340+
return this;
341+
}
342+
}
219343
}

0 commit comments

Comments
 (0)