Interface Platform
-
- All Superinterfaces:
Cloneable
,CorePlatform<ConversionManager>
,Serializable
- All Known Implementing Classes:
AccessPlatform
,AttunityPlatform
,CloudscapePlatform
,DatabasePlatform
,DatabasePlatform
,DatasourcePlatform
,DB2MainframePlatform
,DB2Platform
,DB2ZPlatform
,DBasePlatform
,DerbyPlatform
,DOMPlatform
,EISPlatform
,FirebirdPlatform
,H2Platform
,HANAPlatform
,HSQLPlatform
,Informix11Platform
,InformixPlatform
,JavaDBPlatform
,MaxDBPlatform
,MySQLPlatform
,Oracle10Platform
,Oracle11Platform
,Oracle12Platform
,Oracle18Platform
,Oracle19Platform
,Oracle8Platform
,Oracle9Platform
,OraclePlatform
,PervasivePlatform
,PointBasePlatform
,PostgreSQLPlatform
,SAXPlatform
,SQLAnywherePlatform
,SQLServerPlatform
,SybasePlatform
,SymfowarePlatform
,TimesTen7Platform
,TimesTenPlatform
,XMLPlatform
public interface Platform extends CorePlatform<ConversionManager>, Serializable, Cloneable
Platform is private to TopLink. It encapsulates behavior specific to a datasource platform (eg. Oracle, Sybase, DB2, Attunity, MQSeries), and provides the interface for TopLink to access this behavior.- Since:
- OracleAS TopLink 10g (10.0.3)
- See Also:
DatasourcePlatform
,DatabasePlatform
,EISPlatform
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addSequence(Sequence sequence)
Add sequence.void
addSequence(Sequence sequence, boolean isConnected)
Add sequence.void
appendParameter(Call call, Writer writer, Object parameter)
Add the parameter.Object
clone()
Object
convertObject(Object sourceObject, Class javaClass)
Convert the object to the appropriate type by invoking the appropriate ConversionManager methodvoid
copyInto(Platform platform)
Copy the state into the new platform.ConversionManager
getConversionManager()
The platform hold its own instance of conversion manager to allow customization.Object
getCustomModifyValueForCall(Call call, Object value, DatabaseField field, boolean shouldBind)
Allow for the platform to handle the representation of parameters specially.Sequence
getDefaultSequence()
Get default sequence.Sequence
getDefaultSequenceToWrite()
INTERNAL: Used only for writing into XML or Java.String
getEndDelimiter()
Delimiter to use for fields and tables using spaces or other special values.Sequence
getSequence(String seqName)
Get sequence corresponding to the name.Map
getSequences()
INTERNAL: Returns a map of sequence names to Sequences (may be null).Map
getSequencesToWrite()
INTERNAL: Used only for writing into XML or Java.String
getStartDelimiter()
Delimiter to use for fields and tables using spaces or other special values.String
getTableQualifier()
Return the qualifier for the table.Timestamp
getTimestampFromServer(AbstractSession session, String sessionName)
Answer the timestamp from the server.ValueReadQuery
getTimestampQuery()
This method can be overridden by subclasses to return a query that will return the timestamp from the server.void
initialize()
Allow the platform to initialize itself after login/init.void
initIdentitySequences(Session session, String defaultIdentityGenerator)
INTERNAL: Initialize platform specific identity sequences.boolean
isAccess()
boolean
isAttunity()
boolean
isCloudscape()
boolean
isDB2()
boolean
isDB2Z()
boolean
isDBase()
boolean
isDerby()
boolean
isH2()
boolean
isHANA()
boolean
isHSQL()
boolean
isInformix()
boolean
isMaxDB()
boolean
isMySQL()
boolean
isODBC()
boolean
isOracle()
boolean
isOracle12()
boolean
isOracle9()
boolean
isPointBase()
boolean
isPostgreSQL()
boolean
isSQLAnywhere()
boolean
isSQLServer()
boolean
isSybase()
boolean
isSymfoware()
boolean
isTimesTen()
boolean
isTimesTen7()
void
removeAllSequences()
Remove all sequences that were added through addSequence method.void
removeIdentitySequences(Session session, String defaultIdentityGenerator, Set<String> tableNames)
INTERNAL: Remove platform specific identity sequences for specified tables.Sequence
removeSequence(String seqName)
Remove sequence corresponding to the name (the sequence was added through addSequence method) Don't use if the session is connected.void
setConversionManager(ConversionManager conversionManager)
The platform hold its own instance of conversion manager to allow customization.void
setDefaultSequence(Sequence sequence)
Set default sequence.void
setSequences(Map sequences)
INTERNAL: Used only for reading from XML.void
setTableQualifier(String qualifier)
Set the qualifier for the table.void
setTimestampQuery(ValueReadQuery tsQuery)
Can override the default query for returning a timestamp from the server.boolean
shouldUseCustomModifyForCall(DatabaseField field)
Allow for the platform to handle the representation of parameters specially.boolean
usesPlatformDefaultSequence()
INTERNAL: Indicates whether defaultSequence is the same as platform default sequence.
-
-
-
Method Detail
-
clone
Object clone()
-
convertObject
Object convertObject(Object sourceObject, Class javaClass) throws ConversionException
Convert the object to the appropriate type by invoking the appropriate ConversionManager method- Specified by:
convertObject
in interfaceCorePlatform<ConversionManager>
- Parameters:
sourceObject
- the object that must be convertedjavaClass
- the class that the object must be converted to- Returns:
- the newly converted object
- Throws:
ConversionException
- all exceptions will be thrown as this type.
-
copyInto
void copyInto(Platform platform)
Copy the state into the new platform.
-
getConversionManager
ConversionManager getConversionManager()
The platform hold its own instance of conversion manager to allow customization.- Specified by:
getConversionManager
in interfaceCorePlatform<ConversionManager>
-
setConversionManager
void setConversionManager(ConversionManager conversionManager)
The platform hold its own instance of conversion manager to allow customization.
-
getTableQualifier
String getTableQualifier()
Return the qualifier for the table. Required by some databases such as Oracle and DB2
-
getTimestampFromServer
Timestamp getTimestampFromServer(AbstractSession session, String sessionName)
Answer the timestamp from the server.
-
getTimestampQuery
ValueReadQuery getTimestampQuery()
This method can be overridden by subclasses to return a query that will return the timestamp from the server. return null if the time should be the local time.
-
isH2
boolean isH2()
-
isAccess
boolean isAccess()
-
isAttunity
boolean isAttunity()
-
isCloudscape
boolean isCloudscape()
-
isDerby
boolean isDerby()
-
isDB2
boolean isDB2()
-
isDB2Z
boolean isDB2Z()
-
isDBase
boolean isDBase()
-
isHANA
boolean isHANA()
-
isHSQL
boolean isHSQL()
-
isInformix
boolean isInformix()
-
isMaxDB
boolean isMaxDB()
-
isMySQL
boolean isMySQL()
-
isODBC
boolean isODBC()
-
isOracle
boolean isOracle()
-
isOracle9
boolean isOracle9()
-
isOracle12
boolean isOracle12()
-
isPointBase
boolean isPointBase()
-
isSQLAnywhere
boolean isSQLAnywhere()
-
isSQLServer
boolean isSQLServer()
-
isSybase
boolean isSybase()
-
isSymfoware
boolean isSymfoware()
-
isTimesTen
boolean isTimesTen()
-
isTimesTen7
boolean isTimesTen7()
-
isPostgreSQL
boolean isPostgreSQL()
-
initialize
void initialize()
Allow the platform to initialize itself after login/init.
-
setTableQualifier
void setTableQualifier(String qualifier)
Set the qualifier for the table. Required by some databases such as Oracle and DB2
-
setTimestampQuery
void setTimestampQuery(ValueReadQuery tsQuery)
Can override the default query for returning a timestamp from the server. See: getTimestampFromServer
-
appendParameter
void appendParameter(Call call, Writer writer, Object parameter)
Add the parameter. Convert the parameter to a string and write it.
-
getCustomModifyValueForCall
Object getCustomModifyValueForCall(Call call, Object value, DatabaseField field, boolean shouldBind)
Allow for the platform to handle the representation of parameters specially.
-
getEndDelimiter
String getEndDelimiter()
Delimiter to use for fields and tables using spaces or other special values. Some databases use different delimiters for the beginning and end of the value. This delimiter indicates the end of the value.
-
getStartDelimiter
String getStartDelimiter()
Delimiter to use for fields and tables using spaces or other special values. Some databases use different delimiters for the beginning and end of the value. This delimiter indicates the start of the value.
-
shouldUseCustomModifyForCall
boolean shouldUseCustomModifyForCall(DatabaseField field)
Allow for the platform to handle the representation of parameters specially.
-
getDefaultSequence
Sequence getDefaultSequence()
Get default sequence. Sequence name shouldn't be altered - don't do: getDefaultSequence().setName(newName).
-
setDefaultSequence
void setDefaultSequence(Sequence sequence)
Set default sequence. The sequence should have a unique name that shouldn't be altered after the sequence has been set: don't do: getDefaultSequence().setName(newName)). Default constructors for Sequence subclasses set name to "SEQ".
-
addSequence
void addSequence(Sequence sequence)
Add sequence. The sequence should have a unique name that shouldn't be altered after the sequence has been added - don't do: getSequence(name).setName(newName)) Don't use if the session is connected.
-
addSequence
void addSequence(Sequence sequence, boolean isConnected)
Add sequence. The sequence should have a unique name that shouldn't be altered after the sequence has been added - don't do: getSequence(name).setName(newName)) Use this method with isConnected parameter set to true to add a sequence to connected session. If sequencing is connected then the sequence is added only if there is no sequence with the same name already in use.
-
getSequence
Sequence getSequence(String seqName)
Get sequence corresponding to the name. The name shouldn't be altered - don't do: getSequence(name).setName(newName)
-
removeSequence
Sequence removeSequence(String seqName)
Remove sequence corresponding to the name (the sequence was added through addSequence method) Don't use if the session is connected.
-
removeAllSequences
void removeAllSequences()
Remove all sequences that were added through addSequence method.
-
getSequences
Map getSequences()
INTERNAL: Returns a map of sequence names to Sequences (may be null).
-
getSequencesToWrite
Map getSequencesToWrite()
INTERNAL: Used only for writing into XML or Java.
-
getDefaultSequenceToWrite
Sequence getDefaultSequenceToWrite()
INTERNAL: Used only for writing into XML or Java.
-
setSequences
void setSequences(Map sequences)
INTERNAL: Used only for reading from XML.
-
usesPlatformDefaultSequence
boolean usesPlatformDefaultSequence()
INTERNAL: Indicates whether defaultSequence is the same as platform default sequence.
-
initIdentitySequences
void initIdentitySequences(Session session, String defaultIdentityGenerator)
INTERNAL: Initialize platform specific identity sequences. This method is called fromEntityManagerSetupImpl
after login and optional schema generation. Method is also called fromTableCreator
class during tables creation and update..- Parameters:
session
- Active database session (in connected state).defaultIdentityGenerator
- Default identity generator sequence name.- Since:
- 2.7
-
removeIdentitySequences
void removeIdentitySequences(Session session, String defaultIdentityGenerator, Set<String> tableNames)
INTERNAL: Remove platform specific identity sequences for specified tables. Default identity sequences are restored. Method is also called fromTableCreator
class during tables removal.- Parameters:
session
- Active database session (in connected state).defaultIdentityGenerator
- Default identity generator sequence name.tableNames
- Set of table names to check for identity sequence removal.- Since:
- 2.7
-
-