Newer
Older
ResourceDependencyLogic / src / models / terms / EvaluatableTerm.java
package models.terms;

import models.algebra.Symbol;

public abstract class EvaluatableTerm extends RDLTerm{

	protected EvaluatableTerm(Symbol symbol, int order, int size) {
		super(symbol, order, size);
	}
	
	public abstract boolean isLinearRightNormalized();
	public LinearRightNormalizedType getLinearRightNormalizedType() {
		if (isLinearRightNormalized()) {
			return LinearRightNormalizedType.LINEAR_RIGHT_NORMALIZED;
		} 
		return LinearRightNormalizedType.NOT_LINEAR_RIGHT_NORMALIZED;
	}
	
	public abstract EvaluatableTerm linearRightNormalize();
	public abstract void selfLinearRightNormalize();
	
}