Class GenericFactory
- java.lang.Object
-
- org.castor.cpa.persistence.sql.driver.BaseFactory
-
- org.castor.cpa.persistence.sql.driver.GenericFactory
-
- All Implemented Interfaces:
PersistenceFactory
- Direct Known Subclasses:
DB2Factory,DerbyFactory,HsqlFactory,InformixFactory,InstantDBFactory,InterbaseFactory,MySQLFactory,OracleFactory,PointbaseFactory,PostgreSQLFactory,ProgressFactory,SapDbFactory,SQLServerFactory,SybaseFactory
public class GenericFactory extends BaseFactory
PersistenceFactoryfor generic JDBC driver.- Version:
- $Revision: 8377 $ $Date: 2004-01-19 13:01:46 -0700 (Mon, 19 Jan 2004) $
- Author:
- Assaf Arkin, Bruce Snyder
-
-
Constructor Summary
Constructors Constructor Description GenericFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringdoubleQuoteName(java.lang.String name)Updated to handle input such as user.tablename.column.java.lang.StringgetFactoryName()Returns the name of this factory.java.lang.StringgetIdentitySelectString(java.lang.String tableName, java.lang.String columnName)Returns the database specific query string for retrieving last identity value.QueryExpressiongetQueryExpression()Returns a new empty query expression suitable for the underlying SQL engine.java.lang.StringgetSequenceAfterSelectString(java.lang.String seqName, java.lang.String tableName)Returns the database specific SELECT query string for fetching identity after the INSERT statement executed.java.lang.StringgetSequenceBeforeSelectString(java.lang.String seqName, java.lang.String tableName, int increment)Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.java.lang.StringgetSequenceNextValString(java.lang.String seqName)Returns the database engine specific string to fetch sequence next value.booleanisKeyGeneratorIdentitySupported()Does persistence factory support generation of unique keys with identity key generator?booleanisKeyGeneratorIdentityTypeSupported(int type)Does identity key generator support generation of unique keys for the given SQL type?booleanisKeyGeneratorSequenceSupported(boolean returning, boolean trigger)Does persistence factory support generation of new key at the time of new object creation with sequence key generator?booleanisKeyGeneratorSequenceTypeSupported(int type)Does Sequence key generator support generation of key for the given SQL type?java.lang.StringquoteName(java.lang.String name)Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.-
Methods inherited from class org.castor.cpa.persistence.sql.driver.BaseFactory
adjustSqlType, getCallQuery, getKeyGenerator, getPersistence
-
-
-
-
Method Detail
-
getFactoryName
public java.lang.String getFactoryName()
Description copied from interface:PersistenceFactoryReturns the name of this factory. A descriptive name that indicates the type of supported database server or SQL syntax.- Returns:
- The name of this factory
-
getQueryExpression
public QueryExpression getQueryExpression()
Description copied from interface:PersistenceFactoryReturns a new empty query expression suitable for the underlying SQL engine. The implementation will construct SQL query statements in the preferred syntax.- Returns:
- New empty query expression
-
quoteName
public java.lang.String quoteName(java.lang.String name)
Description copied from interface:PersistenceFactoryReturns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.- Parameters:
name- The identifier (table, column, etc)- Returns:
- The quoted identifier
-
doubleQuoteName
protected final java.lang.String doubleQuoteName(java.lang.String name)
Updated to handle input such as user.tablename.column.
-
isKeyGeneratorIdentitySupported
public boolean isKeyGeneratorIdentitySupported()
Does persistence factory support generation of unique keys with identity key generator?- Returns:
trueif persistence factory is able to generate unique keys with identity key generator,falseotherwise.
-
isKeyGeneratorIdentityTypeSupported
public boolean isKeyGeneratorIdentityTypeSupported(int type)
Does identity key generator support generation of unique keys for the given SQL type?- Parameters:
type- SQL type to check for support by identity key generator.- Returns:
trueif persistence factory is able to generate unique keys of given SQL type with identity key generator,falseotherwise.
-
getIdentitySelectString
public java.lang.String getIdentitySelectString(java.lang.String tableName, java.lang.String columnName)Returns the database specific query string for retrieving last identity value.- Parameters:
tableName- Name of the table from which identity needs to be fetched.columnName- Name of the column from which identity needs to be fetched.- Returns:
- SQL Query string for fetching the identity value.
-
isKeyGeneratorSequenceSupported
public boolean isKeyGeneratorSequenceSupported(boolean returning, boolean trigger)Does persistence factory support generation of new key at the time of new object creation with sequence key generator?- Parameters:
returning- Return generated key value with insert statement?trigger- Use a database trigger to generate key?- Returns:
trueif persistence factory is able to generate key with sequence key generator,falseotherwise.
-
isKeyGeneratorSequenceTypeSupported
public boolean isKeyGeneratorSequenceTypeSupported(int type)
Does Sequence key generator support generation of key for the given SQL type?- Parameters:
type- SQL type to check for support by sequence key generator.- Returns:
trueif persistence factory is able to generate key of given SQL type with sequence key generator,falseotherwise.
-
getSequenceNextValString
public java.lang.String getSequenceNextValString(java.lang.String seqName)
Returns the database engine specific string to fetch sequence next value.- Parameters:
seqName- Name of the sequence.- Returns:
- String to fetch sequence next value.
-
getSequenceAfterSelectString
public java.lang.String getSequenceAfterSelectString(java.lang.String seqName, java.lang.String tableName)Returns the database specific SELECT query string for fetching identity after the INSERT statement executed.- Parameters:
seqName- Name of sequence.tableName- Name of the table from which identity will be fetched.- Returns:
- SELECT sql string
-
getSequenceBeforeSelectString
public java.lang.String getSequenceBeforeSelectString(java.lang.String seqName, java.lang.String tableName, int increment)Returns the database specific SELECT query string for fetching identity before the next INSERT statement gets executed.- Parameters:
seqName- Name of sequence.tableName- Name of the table from which identity will be fetched.increment- Increment value used in Interbase database engine.- Returns:
- SELECT sql string
-
-