
org.nakedobjects.nos.remote.command.java.JavaReferenceData Maven / Gradle / Ivy
package org.nakedobjects.nos.remote.command.java;
import java.io.Serializable;
import org.nakedobjects.noa.adapter.Oid;
import org.nakedobjects.noa.adapter.Version;
import org.nakedobjects.noa.util.ByteDecoder;
import org.nakedobjects.noa.util.ByteEncoder;
import org.nakedobjects.noa.util.Encodable;
import org.nakedobjects.nof.core.util.ToString;
import org.nakedobjects.nof.reflect.remote.data.IdentityData;
public class JavaReferenceData implements IdentityData, Encodable, Serializable {
private static final long serialVersionUID = 1L;
private final Oid oid;
private final String type;
private final Version version;
public JavaReferenceData(final String type, final Oid oid, final Version version) {
this.type = type;
this.oid = oid;
this.version = version;
}
public JavaReferenceData(final ByteDecoder decoder) {
type = decoder.getString();
oid = (Oid) decoder.getObject();
version = (Version) decoder.getObject();
}
public void encode(ByteEncoder encoder) {
encoder.add(type);
encoder.add(oid);
encoder.add(version);
}
public Oid getOid() {
return oid;
}
public String getType() {
return type;
}
public Version getVersion() {
return version;
}
public String toString() {
ToString str = new ToString(this);
str.append("type", type);
str.append("oid", oid);
str.append("version", version);
return str.toString();
}
}
// Copyright (c) Naked Objects Group Ltd.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy