package com.t3.util.guidreference;
import com.t3.guid.GUID;
import com.t3.guid.UniquelyIdentifiable;
import com.t3.xstreamversioned.version.SerializationVersion;
@SerializationVersion(0)
public abstract class CachedGUIDReference<VALUE extends UniquelyIdentifiable> extends GUIDReference<VALUE> {
private transient VALUE cachedValue;
public CachedGUIDReference(GUID id) {
super(id);
}
public CachedGUIDReference(VALUE value) {
super(value);
cachedValue=value;
}
@Override
public VALUE value() {
if(cachedValue==null)
cachedValue=super.value();
return cachedValue;
}
}