java.lang.Object
org.eclipse.persistence.sequencing.Sequence
org.eclipse.persistence.sequencing.UUIDSequence
- All Implemented Interfaces:
Serializable
,Cloneable
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.persistence.sequencing.Sequence
depth, initialValue, isCustomQualifier, name, platform, qualifier, shouldAlwaysOverrideExistingValue, size
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
getGeneratedValue
(Accessor accessor, AbstractSession writeSession, String seqName) INTERNAL: Return the newly-generated sequencing value.Vector
<?> getGeneratedVector
(Accessor accessor, AbstractSession writeSession, String seqName, int size) INTERNAL: Return a Vector of newly-generated sequencing values.void
INTERNAL: This method is called when Sequencing object is created.void
INTERNAL: This method is called when Sequencing object is destroyed.boolean
INTERNAL: Indicates whether sequencing value should be acquired after INSERT.boolean
INTERNAL: Indicates whether several sequencing values should be acquired at a time and be kept by TopLink.boolean
INTERNAL: Indicates whether TopLink should internally call beginTransaction() before getGeneratedValue/Vector, and commitTransaction after.Methods inherited from class org.eclipse.persistence.sequencing.Sequence
clone, equalNameAndSize, getDatasourcePlatform, getGeneratedValue, getGeneratedVector, getInitialValue, getName, getPreallocationSize, getQualified, getQualifier, hashCode, isConnected, isCustomQualifier, isNative, isTable, isUnaryTable, onConnect, onDisconnect, setDatasourcePlatform, setInitialValue, setName, setPreallocationSize, setQualifier, setShouldAlwaysOverrideExistingValue, shouldAlwaysOverrideExistingValue, shouldAlwaysOverrideExistingValue, toString, verifyPlatform
-
Constructor Details
-
UUIDSequence
public UUIDSequence() -
UUIDSequence
-
-
Method Details
-
equals
-
getGeneratedValue
Description copied from class:Sequence
INTERNAL: Return the newly-generated sequencing value. Used only in case preallocation is not used (shouldUsePreallocation()==false). Accessor may be non-null only in case shouldUseSeparateConnection()==true. Even in this case accessor could be null - if SequencingControl().shouldUseSeparateConnection()==false; Therefore in case shouldUseSeparateConnection()==true, implementation should handle both cases: use a separate connection if provided (accessor != null), or get by without it (accessor == null).- Specified by:
getGeneratedValue
in classSequence
- Parameters:
accessor
- Accessor is a separate sequencing accessor (may be null);writeSession
- Session is a Session used for writing (either ClientSession or DatabaseSession);seqName
- String is sequencing number field name
-
getGeneratedVector
public Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) Description copied from class:Sequence
INTERNAL: Return a Vector of newly-generated sequencing values. Used only in case preallocation is used (shouldUsePreallocation()==true). Accessor may be non-null only in case shouldUseSeparateConnection()==true. Even in this case accessor could be null - if SequencingControl().shouldUseSeparateConnection()==false; Therefore in case shouldUseSeparateConnection()==true, implementation should handle both cases: use a separate connection if provided (accessor != null), or get by without it (accessor == null).- Specified by:
getGeneratedVector
in classSequence
- Parameters:
accessor
- Accessor is a separate sequencing accessor (may be null);writeSession
- Session is a Session used for writing (either ClientSession or DatabaseSession);seqName
- String is sequencing number field namesize
- int number of values to preallocate (output Vector size).
-
onConnect
public void onConnect()Description copied from class:Sequence
INTERNAL: This method is called when Sequencing object is created. If it requires initialization, subclass should override this method. -
onDisconnect
public void onDisconnect()Description copied from class:Sequence
INTERNAL: This method is called when Sequencing object is destroyed. If it requires deinitialization, subclass should override this method.- Specified by:
onDisconnect
in classSequence
-
shouldAcquireValueAfterInsert
public boolean shouldAcquireValueAfterInsert()Description copied from class:Sequence
INTERNAL: Indicates whether sequencing value should be acquired after INSERT. Note that preallocation could be used only in case sequencing values should be acquired before insert (this method returns false). In default implementation, it is true for table sequencing and native sequencing on Oracle platform, false for native sequencing on other platforms.- Specified by:
shouldAcquireValueAfterInsert
in classSequence
-
shouldUseTransaction
public boolean shouldUseTransaction()Description copied from class:Sequence
INTERNAL: Indicates whether TopLink should internally call beginTransaction() before getGeneratedValue/Vector, and commitTransaction after. In default implementation, it is true for table sequencing and false for native sequencing.- Specified by:
shouldUseTransaction
in classSequence
-
shouldUsePreallocation
public boolean shouldUsePreallocation()Description copied from class:Sequence
INTERNAL: Indicates whether several sequencing values should be acquired at a time and be kept by TopLink. This in only possible in case sequencing numbers should be acquired before insert (shouldAcquireValueAfterInsert()==false). In default implementation, it is true for table sequencing and native sequencing on Oracle platform, false for native sequencing on other platforms.- Overrides:
shouldUsePreallocation
in classSequence
-