@Override
public HvdcLine add() {
String id = checkAndGetUniqueId();
String name = getName();
ValidationUtil.checkR(this, r);
ValidationUtil.checkConvertersMode(this, convertersMode);
ValidationUtil.checkNominalV(this, nominalV);
ValidationUtil.checkActivePowerSetpoint(this, activePowerSetpoint);
ValidationUtil.checkMaxP(this, maxP);
AbstractHvdcConverterStation<?> converterStation1 = getNetwork().getHvdcConverterStation(converterStationId1);
if (converterStation1 == null) {
throw new PowsyblException("Side 1 converter station " + converterStationId1 + " not found");
}
AbstractHvdcConverterStation<?> converterStation2 = getNetwork().getHvdcConverterStation(converterStationId2);
if (converterStation2 == null) {
throw new PowsyblException("Side 2 converter station " + converterStationId2 + " not found");
}
HvdcLineImpl hvdcLine = new HvdcLineImpl(id, name, r, nominalV, maxP, convertersMode, activePowerSetpoint,
converterStation1, converterStation2, networkRef);
getNetwork().getObjectStore().checkAndAdd(hvdcLine);
getNetwork().getListeners().notifyCreation(hvdcLine);
return hvdcLine;
}