package org.batfish.datamodel.routing_policy.expr;
import java.io.Serializable;
import org.batfish.datamodel.routing_policy.Environment;
import org.batfish.datamodel.routing_policy.Result;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "class")
public abstract class BooleanExpr implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String _comment;
@Override
public abstract boolean equals(Object obj);
public abstract Result evaluate(Environment environment);
public String getComment() {
return _comment;
}
@Override
public abstract int hashCode();
public void setComment(String comment) {
_comment = comment;
}
public BooleanExpr simplify() {
return this;
}
@Override
public String toString() {
if (_comment != null) {
return getClass().getSimpleName() + "<" + _comment + ">";
}
else {
return super.toString();
}
}
}