Package javax.jdo.identity
Class SingleFieldIdentity
java.lang.Object
javax.jdo.identity.SingleFieldIdentity
- All Implemented Interfaces:
Externalizable
,Serializable
,Comparable
- Direct Known Subclasses:
ByteIdentity
,CharIdentity
,IntIdentity
,LongIdentity
,ObjectIdentity
,ShortIdentity
,StringIdentity
This class is the abstract base class for all single field identity
classes. A common case of application identity uses exactly one
persistent field in the class to represent identity. In this case,
the application can use a standard JDO class instead of creating
a new user-defined class for the purpose.
- Version:
- 2.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
The hashCode.protected Object
The key as an Object.protected static I18NHelper
The Internationalization message helper.private Class
The class of the target object.private String
The name of the class of the target object. -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor only for Externalizable.protected
SingleFieldIdentity
(Class pcClass) Constructor with target class. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
assertKeyNotNull
(Object key) Assert that the key is not null.protected int
Determine the ordering of identity objects.protected Object
Create the key as an Object.boolean
Check the class and class name and object type.Return the key as an Object.Return the target class.Return the target class name.protected int
Return the hash code of the class name.int
hashCode()
Return the cached hash code.void
Read from the input stream.protected void
setKeyAsObject
(Object key) Set the given key as the key for this instance.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
-
msg
The Internationalization message helper. -
targetClass
The class of the target object. -
targetClassName
The name of the class of the target object. -
hashCode
protected int hashCodeThe hashCode. -
keyAsObject
The key as an Object.
-
-
Constructor Details
-
SingleFieldIdentity
Constructor with target class.- Parameters:
pcClass
- the class of the target- Since:
- 2.0
-
SingleFieldIdentity
public SingleFieldIdentity()Constructor only for Externalizable.- Since:
- 2.0
-
-
Method Details
-
setKeyAsObject
Set the given key as the key for this instance. Compute the hash code for the instance.- Since:
- 2.0
-
assertKeyNotNull
Assert that the key is not null. Throw a JDONullIdentityException if the given key is null.- Since:
- 2.0
-
getTargetClass
Return the target class.- Returns:
- the target class.
- Since:
- 2.0
-
getTargetClassName
Return the target class name.- Returns:
- the target class name.
- Since:
- 2.0
-
getKeyAsObject
Return the key as an Object. The method is synchronized to avoid race conditions in multi-threaded environments.- Returns:
- the key as an Object.
- Since:
- 2.0
-
createKeyAsObject
Create the key as an Object.- Returns:
- the key as an Object;
- Since:
- 2.0
-
equals
Check the class and class name and object type. If restored from serialization, class will be null so compare class name. -
hashClassName
protected int hashClassName()Return the hash code of the class name.- Returns:
- the hash code of the class name
- Since:
- 2.0
-
hashCode
public int hashCode()Return the cached hash code. -
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
- 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
- Since:
- 2.2
-