RemedialActionSeriesCreationContext.java
/*
* Copyright (c) 2022, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.powsybl.openrao.data.crac.io.cim.craccreator;
import com.powsybl.openrao.data.crac.io.commons.api.ImportStatus;
import com.powsybl.openrao.data.crac.io.commons.api.StandardElementaryCreationContext;
import org.apache.commons.lang3.NotImplementedException;
import java.util.Set;
/**
* @author Godelaine de Montmorillon {@literal <godelaine.demontmorillon at rte-france.com>}
*/
public class RemedialActionSeriesCreationContext extends StandardElementaryCreationContext {
private final Set<String> createdIds;
private final boolean isInverted;
protected RemedialActionSeriesCreationContext(String nativeId, Set<String> createdIds, ImportStatus importStatus, boolean isAltered, boolean isInverted, String importStatusDetail) {
super(nativeId, null, null, importStatus, importStatusDetail, isAltered);
this.createdIds = createdIds;
this.isInverted = isInverted;
}
static RemedialActionSeriesCreationContext notImported(String nativeId, ImportStatus importStatus, String importStatusDetail) {
return new RemedialActionSeriesCreationContext(nativeId, Set.of(nativeId), importStatus, false, false, importStatusDetail);
}
static RemedialActionSeriesCreationContext imported(String nativeId, boolean isAltered, String importStatusDetail) {
return new RemedialActionSeriesCreationContext(nativeId, Set.of(nativeId), ImportStatus.IMPORTED, isAltered, false, importStatusDetail);
}
static RemedialActionSeriesCreationContext importedHvdcRa(String nativeId, Set<String> createdIds, boolean isAltered, boolean isInverted, String importStatusDetail) {
return new RemedialActionSeriesCreationContext(nativeId, createdIds, ImportStatus.IMPORTED, isAltered, isInverted, importStatusDetail);
}
public boolean isInverted() {
return isInverted;
}
@Override
public String getCreatedObjectId() {
throw new NotImplementedException("Several objects may have been created. Please use getCreatedObjectsIds() instead.");
}
@Override
public Set<String> getCreatedObjectsIds() {
return createdIds;
}
}