Package org.datanucleus.identity
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 void
assertKeyNotNull
(Object key) Assert that the key is not null.protected int
Determine the ordering of identity objects.boolean
abstract T
Accessor for the keyAccessor for the target class nameint
hashCode()
protected abstract boolean
void
Read from the input stream.void
Write to the output stream.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.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
Accessor for the key- Returns:
- The key
-
equals
-
keyEquals
-
hashCode
public int hashCode() -
writeExternal
Write to the output stream.- Specified by:
writeExternal
in 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:
readExternal
in interfaceExternalizable
- Parameters:
in
- Input object- Throws:
IOException
ClassNotFoundException
-
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
-