FileDocCategorySizeDatePackage
DefaultSequence.javaAPI DocGlassfish v2 API7651Tue May 22 16:54:52 BST 2007oracle.toplink.essentials.sequencing

DefaultSequence

public class DefaultSequence extends Sequence

Purpose: Reference to the default sequence

Fields Summary
protected Sequence
defaultSequence
Constructors Summary
public DefaultSequence()

        super();
    
public DefaultSequence(String name)

        super(name, 0);
    
public DefaultSequence(String name, int size)

        super(name, size);
    
public DefaultSequence(String name, int size, int initialValue)

        super(name, size, initialValue);
    
Methods Summary
public booleanequals(java.lang.Object obj)

        if (obj instanceof DefaultSequence) {
            return equalNameAndSize(this, (DefaultSequence)obj);
        } else {
            return false;
        }
    
public oracle.toplink.essentials.sequencing.SequencegetDefaultSequence()

        return getDatasourcePlatform().getDefaultSequence();
    
public java.lang.ObjectgetGeneratedValue(oracle.toplink.essentials.internal.databaseaccess.Accessor accessor, oracle.toplink.essentials.internal.sessions.AbstractSession writeSession, java.lang.String seqName)
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).

param
accessor Accessor is a separate sequencing accessor (may be null);
param
writeSession Session is a Session used for writing (either ClientSession or DatabaseSession);
param
seqName String is sequencing number field name

        return getDefaultSequence().getGeneratedValue(accessor, writeSession, seqName);
    
public java.util.VectorgetGeneratedVector(oracle.toplink.essentials.internal.databaseaccess.Accessor accessor, oracle.toplink.essentials.internal.sessions.AbstractSession writeSession, java.lang.String name, int size)
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).

param
accessor Accessor is a separate sequencing accessor (may be null);
param
writeSession Session is a Session used for writing (either ClientSession or DatabaseSession);
param
seqName String is sequencing number field name
param
size int number of values to preallocate (output Vector size).

        return getDefaultSequence().getGeneratedVector(accessor, writeSession, name, size);
    
public intgetInitialValue()

        if ((initialValue != 0) || (getDefaultSequence() == null)) {
            return initialValue;
        } else {
            return getDefaultSequence().getInitialValue();
        }
    
public intgetPreallocationSize()

        if ((size != 0) || (getDefaultSequence() == null)) {
            return size;
        } else {
            return getDefaultSequence().getPreallocationSize();
        }
    
public booleanhasPreallocationSize()

        return size != 0;
    
protected voidonConnect()
INTERNAL: This method is called when Sequencing object is created. It's a chance to do initialization.

param
ownerSession DatabaseSession

        // nothing to do
    
public voidonDisconnect()
INTERNAL: This method is called when Sequencing object is destroyed.. It's a chance to do deinitialization.

        // nothing to do
    
public booleanshouldAcquireValueAfterInsert()
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.

        return getDefaultSequence().shouldAcquireValueAfterInsert();
    
public booleanshouldOverrideExistingValue(java.lang.String seqName, java.lang.Object existingValue)
INTERNAL: Indicates whether existing attribute value should be overridden. This method is called in case an attribute mapped to PK of sequencing-using descriptor contains non-null value.

param
seqName String is sequencing number field name
param
existingValue Object is a non-null value of PK-mapped attribute.

        return getDefaultSequence().shouldOverrideExistingValue(seqName, existingValue);
    
public booleanshouldUseTransaction()
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.

        return getDefaultSequence().shouldUseTransaction();