package org.batfish.datamodel;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.batfish.common.BatfishException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
public enum ForwardingAction {
ACCEPT("accept"),
DEBUG("debug"),
DROP("drop"),
DROP_ACL("drop_acl"),
DROP_ACL_IN("drop_acl_in"),
DROP_ACL_OUT("drop_acl_out"),
DROP_NO_ROUTE("drop_no_route"),
DROP_NULL_ROUTE("drop_null_route"),
FORWARD("forward");
private final static Map<String, ForwardingAction> _map = buildMap();
private static Map<String, ForwardingAction> buildMap() {
Map<String, ForwardingAction> map = new HashMap<>();
for (ForwardingAction value : ForwardingAction.values()) {
String name = value._name;
map.put(name, value);
}
return Collections.unmodifiableMap(map);
}
@JsonCreator
public static ForwardingAction fromName(String name) {
ForwardingAction instance = _map.get(name.toLowerCase());
if (instance == null) {
throw new BatfishException(
"No ForwardingAction with name: \"" + name + "\"");
}
return instance;
}
private final String _name;
private ForwardingAction(String name) {
_name = name;
}
@JsonValue
public String neighborTypeName() {
return _name;
}
}