Newer
Older
RDLProofSystem / src / main / java / models / terms / meta / MetaDependencyTermVariable.java
@Sakoda2269 Sakoda2269 20 days ago 963 bytes right sub実装まで
package models.terms.meta;

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

@Getter
public class MetaDependencyTermVariable extends MetaVariable {

	public MetaDependencyTermVariable(Variable variableName, OrderConstraint constraint, Expression order) {
		super(MetaRDLTerm.TermType.META_DEPENDENCY_TERM_VARIABLE, variableName, constraint, order);
	}
	
	public MetaDependencyTermVariable(Variable variableName) {
		super(MetaRDLTerm.TermType.META_DEPENDENCY_TERM_VARIABLE, variableName, OrderConstraint.ANY, new Constant("0"));
	}
	
	public MetaDependencyTermVariable(Variable variableName, Expression order) {
		super(MetaRDLTerm.TermType.META_DEPENDENCY_TERM_VARIABLE, variableName, OrderConstraint.EQ, order);
	}
	
	@Override
	public MetaDependencyTermVariable cloneWithName(String name) {
		return new MetaDependencyTermVariable(new Variable(name), constraint, orderExpression);
	}
	
}