package com.blazebit.ai.decisiontree.impl; import com.blazebit.ai.decisiontree.AttributeValue; /** * * @author Christian Beikov */ public class SimpleAttributeValue implements AttributeValue{ private final Object value; private transient int hashCode = -1; public SimpleAttributeValue(Object value){ this.value = value; } @Override public int hashCode() { if(hashCode < 0){ hashCode = 89 * 3 + (this.value != null ? this.value.hashCode() : 0); } return hashCode; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!(obj instanceof SimpleAttributeValue)) { return false; } final SimpleAttributeValue other = (SimpleAttributeValue) obj; final Object v1 = this.value; final Object v2 = other.value; if (v1 != v2 && (v1 == null || !v1.equals(v2))) { return false; } return true; } @Override public Object getValue(){ return value; } @Override public String toString() { return "AttributeValue{" + "value=" + value + '}'; } }