Skip to content

Mh/#1275 new copy builders #1277

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Mar 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

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

### Fixed
- Fixed SonarQube junit path issue in GitHub Actions [#1284](https://github.com/ie3-institute/PowerSystemDataModel/issues/1284)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ public String getId() {
return id;
}

public abstract AssetTypeInputCopyBuilder<?> copy();

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ public ComparableQuantity<ElectricPotential> getvRated() {
return vRated;
}

@Override
public LineTypeInputCopyBuilder copy() {
return new LineTypeInputCopyBuilder(this);
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down Expand Up @@ -121,4 +126,70 @@ public String toString() {
+ vRated
+ '}';
}

/**
* Abstract class for all builder that build child entities of abstract class {@link
* LineTypeInput}
*/
public static final class LineTypeInputCopyBuilder
extends AssetTypeInput.AssetTypeInputCopyBuilder<LineTypeInputCopyBuilder> {

private ComparableQuantity<SpecificConductance> b;
private ComparableQuantity<SpecificConductance> g;
private ComparableQuantity<SpecificResistance> r;
private ComparableQuantity<SpecificResistance> x;
private ComparableQuantity<ElectricCurrent> iMax;
private ComparableQuantity<ElectricPotential> vRated;

protected LineTypeInputCopyBuilder(LineTypeInput entity) {
super(entity);
this.b = entity.b;
this.g = entity.g;
this.r = entity.r;
this.x = entity.x;
this.iMax = entity.iMax;
this.vRated = entity.vRated;
}

/** Setter */
public LineTypeInputCopyBuilder b(ComparableQuantity<SpecificConductance> b) {
this.b = b;
return thisInstance();
}

public LineTypeInputCopyBuilder g(ComparableQuantity<SpecificConductance> g) {
this.g = g;
return thisInstance();
}

public LineTypeInputCopyBuilder r(ComparableQuantity<SpecificResistance> r) {
this.r = r;
return thisInstance();
}

public LineTypeInputCopyBuilder x(ComparableQuantity<SpecificResistance> x) {
this.x = x;
return thisInstance();
}

public LineTypeInputCopyBuilder iMax(ComparableQuantity<ElectricCurrent> iMax) {
this.iMax = iMax;
return thisInstance();
}

public LineTypeInputCopyBuilder vRated(ComparableQuantity<ElectricPotential> vRated) {
this.vRated = vRated;
return thisInstance();
}

@Override
public LineTypeInput build() {
return new LineTypeInput(getUuid(), getId(), b, g, r, x, iMax, vRated);
}

@Override
protected LineTypeInputCopyBuilder thisInstance() {
return this;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,11 @@ public int getTapMax() {
return tapMax;
}

@Override
public Transformer2WTypeInputCopyBuilder copy() {
return new Transformer2WTypeInputCopyBuilder(this);
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down Expand Up @@ -216,4 +221,123 @@ public String toString() {
+ tapMax
+ '}';
}

/**
* Abstract class for all builder that build child entities of abstract class {@link
* Transformer2WTypeInput}
*/
public static final class Transformer2WTypeInputCopyBuilder
extends AssetTypeInput.AssetTypeInputCopyBuilder<Transformer2WTypeInputCopyBuilder> {

private ComparableQuantity<ElectricResistance> rSc;
private ComparableQuantity<ElectricResistance> xSc;
private ComparableQuantity<Power> sRated;
private ComparableQuantity<ElectricPotential> vRatedA;
private ComparableQuantity<ElectricPotential> vRatedB;
private ComparableQuantity<ElectricConductance> gM;
private ComparableQuantity<ElectricConductance> bM;
private ComparableQuantity<Dimensionless> dV;
private ComparableQuantity<Angle> dPhi;
private boolean tapSide;
private int tapNeutr;
private int tapMin;
private int tapMax;

private Transformer2WTypeInputCopyBuilder(Transformer2WTypeInput entity) {
super(entity);
this.rSc = entity.rSc;
this.xSc = entity.xSc;
this.sRated = entity.sRated;
this.vRatedA = entity.vRatedA;
this.vRatedB = entity.vRatedB;
this.gM = entity.gM;
this.bM = entity.bM;
this.dV = entity.dV;
this.dPhi = entity.dPhi;
this.tapSide = entity.tapSide;
this.tapNeutr = entity.tapNeutr;
this.tapMin = entity.tapMin;
this.tapMax = entity.tapMax;
}

/** Setter */
public Transformer2WTypeInputCopyBuilder rSc(ComparableQuantity<ElectricResistance> rSc) {
this.rSc = rSc;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder xSc(ComparableQuantity<ElectricResistance> xSc) {
this.xSc = xSc;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder sRated(ComparableQuantity<Power> sRated) {
this.sRated = sRated;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder vRatedA(
ComparableQuantity<ElectricPotential> vRatedA) {
this.vRatedA = vRatedA;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder vRatedB(
ComparableQuantity<ElectricPotential> vRatedB) {
this.vRatedB = vRatedB;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder gM(ComparableQuantity<ElectricConductance> gM) {
this.gM = gM;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder bM(ComparableQuantity<ElectricConductance> bM) {
this.bM = bM;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder dV(ComparableQuantity<Dimensionless> dV) {
this.dV = dV;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder dPhi(ComparableQuantity<Angle> dPhi) {
this.dPhi = dPhi;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder tapSide(boolean tapSide) {
this.tapSide = tapSide;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder tapNeutr(int tapNeutr) {
this.tapNeutr = tapNeutr;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder tapMin(int tapMin) {
this.tapMin = tapMin;
return thisInstance();
}

public Transformer2WTypeInputCopyBuilder tapMax(int tapMax) {
this.tapMax = tapMax;
return thisInstance();
}

@Override
public Transformer2WTypeInput build() {
return new Transformer2WTypeInput(
getUuid(), getId(), rSc, xSc, sRated, vRatedA, vRatedB, gM, bM, dV, dPhi, tapSide,
tapNeutr, tapMin, tapMax);
}

@Override
protected Transformer2WTypeInputCopyBuilder thisInstance() {
return this;
}
}
}
Loading