package com.t3.util.guidreference; import com.t3.guid.GUID; import com.t3.model.Token; import com.t3.model.Zone; import com.t3.xstreamversioned.version.SerializationVersion; @SerializationVersion(0) public class TokenReference extends GUIDReference<Token> { private final ZoneReference zone; public TokenReference(GUID zoneId, GUID tokenId) { this(new ZoneReference(zoneId),tokenId); } public TokenReference(Zone zone, GUID tokenId) { this(new ZoneReference(zone),tokenId); } public TokenReference(ZoneReference zone, GUID tokenId) { super(tokenId); this.zone=zone; } public TokenReference(Token token) { super(token); this.zone=new ZoneReference(token.getZone()); } @Override protected Token resolveReference(GUID id) { return zone.value().getToken(id); } }