package models.terms;
import lombok.Getter;
@Getter
public class PrimedTerm extends EvaluatableTerm {
private EvaluatableTerm primedTerm;
protected PrimedTerm(EvaluatableTerm term) {
super(term.getSymbol(), term.getOrder(), term.getSize());
this.primedTerm = term;
}
@Override
public String toString() {
return primedTerm.toString() + "'";
}
@Override
public String toStringWithOrder() {
return toString() + "(" + primedTerm.getOrder() + ")";
}
@Override
public int hashCode() {
return toStringWithOrder().hashCode();
}
@Override
public Object clone() {
return new PrimedTerm(primedTerm);
}
@Override
public boolean isLinearRightNormalized() {
return primedTerm.isLinearRightNormalized();
}
@Override
public EvaluatableTerm linearRightNormalize() {
return new PrimedTerm(primedTerm.linearRightNormalize());
}
@Override
public void selfLinearRightNormalize() {
primedTerm.selfLinearRightNormalize();
}
}