package splar.core.constraints;
public class CNFLiteral {
private BooleanVariableInterface variable;
private boolean state;
public CNFLiteral(BooleanVariableInterface variable, boolean state) {
this.variable = variable;
this.state = state;
}
public BooleanVariableInterface getVariable() {
return variable;
}
public boolean isPositive() {
return state;
}
public int hashCode() {
String hashStr = (isPositive() ? "+" : "-") + variable;
return hashStr.hashCode();
}
public boolean equals(Object o) {
CNFLiteral literal = (CNFLiteral)o;
return literal.variable.equals(variable) && (literal.isPositive() == isPositive());
}
public String toString() {
String toString = "";
if ( !state ) {
toString += "~";
}
toString += variable.getID();
return toString;
}
public String toString2() {
if ( !state ) {
return "(~" + variable.getID() + ")";
}
return variable.getID();
}
}