package models.formulas;

import lombok.Getter;
import models.terms.Dependency;
import models.terms.RDLTerm;
import models.terms.Resource;

@Getter
public class DependencyFormula extends Formula {
	
	private Dependency dependency;
	
	public DependencyFormula(Dependency dependency) {
		this.dependency = dependency;
	}
	
	public DependencyFormula(RDLTerm dependingTerm, Resource dependedVariable) {
		this.dependency = new Dependency(dependingTerm, dependedVariable);
	}

	
	@Override
	public String toString() {
		return dependency.toString();
	}

	@Override
	public boolean equals(Object another) {
		if(! (another instanceof DependencyFormula)) {
			return false;
		}
		DependencyFormula anotherFormula = (DependencyFormula) another;
		return dependency.equals(anotherFormula.getDependency());
	}

	@Override
	public int hashCode() {
		return ("DF" + toString()).hashCode();
	}
	
}
