public abstract class Sequence extends Object implements Serializable, Cloneable
Purpose: Abstract class to define sequencing.
Description A sequence defines how generated ids are obtained. The main sequence types are TableSequence and NativeSequence. Descriptors using sequencing will use the sequence object defined in their session's DatabaseLogin with the name matching their sequence name. If a specific sequence is not defined for the name the DatabaseLogin's default sequence will be used.
TableSequence
,
NativeSequence
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected int |
depth |
protected int |
initialValue |
protected boolean |
isCustomQualifier |
protected String |
name |
protected org.eclipse.persistence.internal.databaseaccess.Platform |
platform |
protected String |
qualifier |
protected boolean |
shouldAlwaysOverrideExistingValue |
protected int |
size |
Constructor and Description |
---|
Sequence() |
Sequence(String name)
Create a new sequence with the name.
|
Sequence(String name,
int size)
Create a new sequence with the name and sequence pre-allocation size.
|
Sequence(String name,
int size,
int initialValue) |
Modifier and Type | Method and Description |
---|---|
Object |
clone() |
static boolean |
equalNameAndSize(Sequence seq1,
Sequence seq2)
INTERNAL:
Used in equals.
|
boolean |
equals(Object obj) |
org.eclipse.persistence.internal.databaseaccess.Platform |
getDatasourcePlatform() |
Object |
getGeneratedValue(org.eclipse.persistence.internal.databaseaccess.Accessor accessor,
org.eclipse.persistence.internal.sessions.AbstractSession writeSession)
INTERNAL:
Return the newly-generated sequencing value.
|
abstract Object |
getGeneratedValue(org.eclipse.persistence.internal.databaseaccess.Accessor accessor,
org.eclipse.persistence.internal.sessions.AbstractSession writeSession,
String seqName)
INTERNAL:
Return the newly-generated sequencing value.
|
Vector |
getGeneratedVector(org.eclipse.persistence.internal.databaseaccess.Accessor accessor,
org.eclipse.persistence.internal.sessions.AbstractSession writeSession)
INTERNAL:
Return a Vector of newly-generated sequencing values.
|
abstract Vector |
getGeneratedVector(org.eclipse.persistence.internal.databaseaccess.Accessor accessor,
org.eclipse.persistence.internal.sessions.AbstractSession writeSession,
String seqName,
int size)
INTERNAL:
Return a Vector of newly-generated sequencing values.
|
int |
getInitialValue() |
String |
getName() |
int |
getPreallocationSize() |
String |
getQualified(String str)
INTERNAL:
|
String |
getQualifier()
INTERNAL:
|
int |
hashCode() |
boolean |
isConnected()
PUBLIC:
Indicates that Sequence is connected.
|
boolean |
isCustomQualifier()
INTERNAL:
|
boolean |
isNative() |
boolean |
isTable() |
boolean |
isUnaryTable() |
abstract void |
onConnect()
INTERNAL:
This method is called when Sequencing object is created.
|
void |
onConnect(org.eclipse.persistence.internal.databaseaccess.Platform platform)
INTERNAL:
This method is called when Sequencing object is created.
|
abstract void |
onDisconnect()
INTERNAL:
This method is called when Sequencing object is destroyed.
|
void |
onDisconnect(org.eclipse.persistence.internal.databaseaccess.Platform platform)
INTERNAL:
This method is called when Sequencing object is destroyed.
|
protected void |
setDatasourcePlatform(org.eclipse.persistence.internal.databaseaccess.Platform platform) |
void |
setInitialValue(int initialValue) |
void |
setName(String name) |
void |
setPreallocationSize(int size) |
void |
setQualifier(String qualifier)
INTERNAL:
|
void |
setShouldAlwaysOverrideExistingValue(boolean shouldAlwaysOverrideExistingValue)
ADVANCED:
Set that to true if the sequence should always override the existing pk value.
|
abstract boolean |
shouldAcquireValueAfterInsert()
INTERNAL:
Indicates whether sequencing value should be acquired after INSERT.
|
boolean |
shouldAlwaysOverrideExistingValue()
INTERNAL:
Indicates whether the existing pk value should always be overridden by the sequence.
|
boolean |
shouldAlwaysOverrideExistingValue(String seqName)
INTERNAL:
Indicates whether the existing pk value should always be overridden by the sequence.
|
boolean |
shouldUsePreallocation()
INTERNAL:
Indicates whether several sequencing values should be acquired at a time
and be kept by TopLink.
|
abstract boolean |
shouldUseTransaction()
INTERNAL:
Indicates whether TopLink should internally call beginTransaction() before
getGeneratedValue/Vector, and commitTransaction after.
|
String |
toString() |
protected void |
verifyPlatform(org.eclipse.persistence.internal.databaseaccess.Platform otherPlatform)
INTERNAL:
Make sure that the sequence is not used by more than one platform.
|
protected String name
protected int size
protected org.eclipse.persistence.internal.databaseaccess.Platform platform
protected int initialValue
protected int depth
protected String qualifier
protected boolean isCustomQualifier
protected boolean shouldAlwaysOverrideExistingValue
public Sequence()
public Sequence(String name)
public Sequence(String name, int size)
public Sequence(String name, int size, int initialValue)
public boolean isNative()
public boolean isTable()
public boolean isUnaryTable()
public String getName()
public void setName(String name)
public int getPreallocationSize()
public void setPreallocationSize(int size)
public int getInitialValue()
public void setInitialValue(int initialValue)
public static boolean equalNameAndSize(Sequence seq1, Sequence seq2)
protected void setDatasourcePlatform(org.eclipse.persistence.internal.databaseaccess.Platform platform)
public org.eclipse.persistence.internal.databaseaccess.Platform getDatasourcePlatform()
public abstract boolean shouldAcquireValueAfterInsert()
public boolean shouldUsePreallocation()
public abstract boolean shouldUseTransaction()
public abstract Object getGeneratedValue(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession, String seqName)
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 namepublic Object getGeneratedValue(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession)
accessor
- Accessor is a separate sequencing accessor (may be null);writeSession
- Session is a Session used for writing (either ClientSession or DatabaseSession);public abstract Vector getGeneratedVector(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession, String seqName, int size)
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).public Vector getGeneratedVector(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, org.eclipse.persistence.internal.sessions.AbstractSession writeSession)
accessor
- Accessor is a separate sequencing accessor (may be null);writeSession
- Session is a Session used for writing (either ClientSession or DatabaseSession);public void onConnect(org.eclipse.persistence.internal.databaseaccess.Platform platform)
public abstract void onConnect()
public void onDisconnect(org.eclipse.persistence.internal.databaseaccess.Platform platform)
public abstract void onDisconnect()
public boolean isConnected()
protected void verifyPlatform(org.eclipse.persistence.internal.databaseaccess.Platform otherPlatform)
public void setQualifier(String qualifier)
public boolean isCustomQualifier()
public String getQualifier()
public void setShouldAlwaysOverrideExistingValue(boolean shouldAlwaysOverrideExistingValue)
public boolean shouldAlwaysOverrideExistingValue()
public boolean shouldAlwaysOverrideExistingValue(String seqName)
Copyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.