package models;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SetEvaluableTerm extends EvaluableTerm{
private EvaluableTerm term;
public SetEvaluableTerm(EvaluableTerm term) {
super(term.getOrder() - 1);
this.term = term;
}
public SetEvaluableTerm(EvaluableTerm term, int order) {
super(order);
if(term.getOrder() > order + 1) {
this.term = new SetEvaluableTerm(term, order+1);
} else {
this.term = term;
}
}
@Override
public EvaluableTerm linearRightNormalize() {
return new SetEvaluableTerm(term, order);
}
@Override
public void selfLinearRightNormalize() {
}
@Override
public boolean isLinearRightNormal() {
return term.isLinearRightNormal();
}
@Override
public String toStr() {
StringBuilder sb = new StringBuilder();
sb.append('{');
sb.append(term.toStr());
sb.append('}');
return sb.toString();
}
}