com.farao_community.farao.data.crac_api.Instant Maven / Gradle / Ivy
/*
* Copyright (c) 2019, 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.farao_community.farao.data.crac_api;
import com.farao_community.farao.data.crac_api.cnec.Cnec;
/**
* Enum representing the instants at which {@link Cnec} can be monitored and
* {@link RemedialAction} applied.
*
* @author Viktor Terrier {@literal }
* @author Joris Mancini {@literal }
*/
public enum Instant {
PREVENTIVE(0, "preventive"),
OUTAGE(1, "outage"),
AUTO(2, "auto"),
CURATIVE(3, "curative");
private final int order;
private final String name;
Instant(int order, String name) {
this.order = order;
this.name = name;
}
public int getOrder() {
return order;
}
@Override
public String toString() {
return name;
}
public boolean comesBefore(Instant otherInstant) {
return this.order < otherInstant.order;
}
}