/**
*
*/
package querqy.model;
/**
* @author René Kriegler, @renekrie
*
*/
public abstract class Clause<P extends Node> extends AbstractNode<P> {
public enum Occur {
SHOULD(""), MUST("+"), MUST_NOT("-");
final String txt;
Occur(String txt) {
this.txt = txt;
}
@Override
public String toString() {
return txt;
}
}
public final Occur occur;
public Clause(P parent, Occur occur, boolean isGenerated) {
super(parent, isGenerated);
this.occur = occur;
}
public Occur getOccur() {
return occur;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((occur == null) ? 0 : occur.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!super.equals(obj))
return false;
if (getClass() != obj.getClass())
return false;
Clause<?> other = (Clause<?>) obj;
if (occur != other.occur)
return false;
return true;
}
}