Class SingleFieldId<T, S extends SingleFieldId>
java.lang.Object
org.datanucleus.identity.SingleFieldId<T,S>
- All Implemented Interfaces:
Externalizable, Serializable, Comparable<S>
public abstract class SingleFieldId<T, S extends SingleFieldId>
extends Object
implements Externalizable, Comparable<S>
This class is the abstract base class for all single field identity classes.
TODO All subclasses should implement the same rules as applies to all identity classes, namely String constructor taking output of toString(), etc.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidassertKeyNotNull(Object key) Assert that the key is not null.protected intDetermine the ordering of identity objects.booleanabstract TAccessor for the keyAccessor for the target class nameinthashCode()protected abstract booleanvoidRead from the input stream.voidWrite to the output stream.Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Comparable
compareTo
-
Field Details
-
STRING_DELIMITER
- See Also:
-
targetClassName
The name of the class of the target persistable object. -
hashCode
protected int hashCode
-
-
Constructor Details
-
SingleFieldId
-
SingleFieldId
public SingleFieldId()
-
-
Method Details
-
assertKeyNotNull
Assert that the key is not null. Throw a NucleusUserException if the given key is null.- Parameters:
key- The key
-
getTargetClassName
Accessor for the target class name- Returns:
- Class name for the object represented by this id
-
getKeyAsObject
-
equals
-
keyEquals
-
hashCode
-
writeExternal
Write to the output stream.- Specified by:
writeExternalin interfaceExternalizable- Parameters:
out- the stream- Throws:
IOException
-
readExternal
Read from the input stream. Creates a new instance with the target class name set- Specified by:
readExternalin interfaceExternalizable- Parameters:
in- Input object- Throws:
IOExceptionClassNotFoundException
-
compare
Determine the ordering of identity objects. Only the class name is compared. This method is only used by subclasses.- Parameters:
o- Other identity- Returns:
- The relative ordering between the objects
-