package io.robe.hibernate.criteria.api.criterion; import io.robe.hibernate.criteria.query.Operator; /** * Created by kamilbukum on 16/01/2017. */ public class Restriction { private final Operator operator; private final Object value; private final String name; private String valueAlias; public Restriction(Operator operator, String name) { this(operator, name, null); } public Restriction(Operator operator, String name, Object value) { this.operator = operator; this.name = name; this.value = value; } public Operator getOperator() { return operator; } public String getName() { return name; } public Object getValue() { return value; } public void setValueAlias(String valueAlias) { this.valueAlias = valueAlias; } public String getValueAlias() { return valueAlias; } @Override public String toString() { return "Restriction{" + "operator=" + operator + ", value=" + value + ", name='" + name + '\'' + ", valueAlias='" + valueAlias + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Restriction)) return false; Restriction that = (Restriction) o; if (getOperator() != that.getOperator()) return false; if (getValue() != null ? !getValue().equals(that.getValue()) : that.getValue() != null) return false; if (getName() != null ? !getName().equals(that.getName()) : that.getName() != null) return false; return getValueAlias() != null ? getValueAlias().equals(that.getValueAlias()) : that.getValueAlias() == null; } @Override public int hashCode() { int result = getOperator() != null ? getOperator().hashCode() : 0; result = 31 * result + (getValue() != null ? getValue().hashCode() : 0); result = 31 * result + (getName() != null ? getName().hashCode() : 0); result = 31 * result + (getValueAlias() != null ? getValueAlias().hashCode() : 0); return result; } }