package de.axone.cache.ng;
import java.io.Serializable;
import de.axone.cache.ng.CacheNG.Cache;
public class DefaultEntry<O> implements Cache.Entry<O>, Serializable {
private static final long serialVersionUID = 1L;
private final long creation;
private final O data;
public DefaultEntry( O data ) {
this.creation = System.currentTimeMillis();
this.data = data;
}
public DefaultEntry( O data, long creation ){
this.creation = creation;
this.data = data;
}
@Override
public O data() { return data;
}
@Override
public long creation() { return creation; }
@Override
public int hashCode() {
if( data == null ) return 0;
return data.hashCode();
}
@Override
public boolean equals( Object obj ) {
if( this == obj ) return true;
if( obj == null ) return false;
if( !( obj instanceof DefaultEntry ) ) return false;
DefaultEntry<?> other = (DefaultEntry<?>) obj;
if( data == null ) {
if( other.data != null ) return false;
} else if( !data.equals( other.data ) ) return false;
return true;
}
}