/** * AbstractProperty.java * * Created on 24.08.2010 */ package org.mage.plugins.card.dl.beans.properties; import static java.lang.String.*; /** * The class AbstractProperty. * * @version V0.0 24.08.2010 * @author Clemens Koza */ public abstract class AbstractProperty<T> implements Property<T> { @Override public int hashCode() { T value = getValue(); return value == null? 0:value.hashCode(); } @Override public boolean equals(Object obj) { if(!(obj instanceof Property<?>)) return false; Object value = getValue(); Object other = ((Property<?>) obj).getValue(); return value == other || (value != null && value.equals(other)); } @Override public String toString() { return valueOf(getValue()); } }