Newer
Older
ResourceDependencyLogic / src / models / terms / meta / MetaEvaluatableTermVariable.java
@Sakoda2269 Sakoda2269 on 20 Dec 1 KB 途中まで
package models.terms.meta;

import models.algebra.Constant;
import models.algebra.Expression;
import models.algebra.Symbol;
import models.algebra.Variable;
import models.terms.LinearRightNormalizedType;

public class MetaEvaluatableTermVariable extends MetaVariable {

	public MetaEvaluatableTermVariable(Variable variableName, OrderConstraint constraint, Expression order) {
		super(new Symbol(":", 2), MetaRDLTerm.TermType.META_EVALUATABLE_TERM_VARIABLE, variableName, constraint, order);
	}
	
	public MetaEvaluatableTermVariable(Variable variableName) {
		super(new Symbol(":", 2), MetaRDLTerm.TermType.META_EVALUATABLE_TERM_VARIABLE, variableName, OrderConstraint.ANY, new Constant("0"));
	}
	
	public MetaEvaluatableTermVariable(Variable variableName, Expression order) {
		super(new Symbol(":", 2), MetaRDLTerm.TermType.META_EVALUATABLE_TERM_VARIABLE, variableName, OrderConstraint.EQ, order);
	}
	
	public MetaEvaluatableTermVariable(Variable variableName, OrderConstraint constraint, Expression order, LinearRightNormalizedType linearRIghtNormalizedType) {
		super(new Symbol(":", 2), MetaRDLTerm.TermType.META_EVALUATABLE_TERM_VARIABLE, variableName, constraint, order, linearRIghtNormalizedType);
	}
	
	public MetaEvaluatableTermVariable(Variable variableName, LinearRightNormalizedType linearRIghtNormalizedType) {
		super(new Symbol(":", 2), MetaRDLTerm.TermType.META_EVALUATABLE_TERM_VARIABLE, variableName, OrderConstraint.ANY, new Constant("0"), linearRIghtNormalizedType);
	}
	
	public MetaEvaluatableTermVariable(Variable variableName, Expression order, LinearRightNormalizedType linearRIghtNormalizedType) {
		super(new Symbol(":", 2), MetaRDLTerm.TermType.META_EVALUATABLE_TERM_VARIABLE, variableName, OrderConstraint.EQ, order, linearRIghtNormalizedType);
	}
	
}