package models.meta;

import lombok.Getter;
import models.algebra.Constant;
import models.algebra.Expression;
import models.algebra.Symbol;
import models.algebra.Variable;

@Getter
public class MetaDependencyTermVariable extends MetaVariable {

	public MetaDependencyTermVariable(Variable variableName, OrderConstraint constraint, Expression order) {
		super(new Symbol(":", 3), MetaRDLTerm.TermType.META_DEPENDENCY_TERM_VARIABLE, variableName, constraint, order);
	}
	
	public MetaDependencyTermVariable(Variable variableName) {
		super(new Symbol(":", 3), MetaRDLTerm.TermType.META_DEPENDENCY_TERM_VARIABLE, variableName, OrderConstraint.ANY, new Constant("0"));
	}
	
	public MetaDependencyTermVariable(Variable variableName, Expression order) {
		super(new Symbol(":", 3), MetaRDLTerm.TermType.META_DEPENDENCY_TERM_VARIABLE, variableName, OrderConstraint.EQ, order);
	}

}
