Top Description Fields Constructors Methods
org.eclipse.persistence.platform.database

public Class DBasePlatform

extends DatabasePlatform
Class Inheritance
Imports
java.io.*, java.sql.CallableStatement, .PreparedStatement, .SQLException, java.util.*, org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition, org.eclipse.persistence.internal.sessions.AbstractSession

Purpose: Provides DBase specific behavior.

Responsibilities:

Since
TOPLink/Java 1.0

Field Summary

Inherited from org.eclipse.persistence.platform.database.DatabasePlatform:
DEFAULT_VARCHAR_SIZE

Constructor Summary

AccessConstructor and Description
public
DBasePlatform()

Default constructor.

Method Summary

Modifier and TypeMethod and Description
protected Hashtable<Class<?>, FieldTypeDefinition>
buildFieldTypes()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildFieldTypes.

Return the mapping of class types to database types for the schema framework.
public Object
convertToDatabaseType(Object value)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.convertToDatabaseType.

INTERNAL We support more primitive than JDBC does so we must do conversion before printing or binding.
public int
getMaxFieldNameSize()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getMaxFieldNameSize.

INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.
public String
public boolean
public Hashtable<Class<? extends Number>, ? super Number>
maximumNumericValues()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.maximumNumericValues.

Builds a table of minimum numeric values keyed on java class.
public Hashtable<Class<? extends Number>, ? super Number>
minimumNumericValues()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.minimumNumericValues.

Builds a table of minimum numeric values keyed on java class.
public void
printFieldNotNullClause(Writer writer)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.printFieldNotNullClause.

Append the receiver's field 'NOT NULL' constraint clause to a writer.
public void
setParameterValueInDatabaseCall(Object parameter, PreparedStatement statement, int index, AbstractSession session)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall.

INTERNAL: DBase does not support Time/Timestamp so we must map to strings.
public void
setParameterValueInDatabaseCall(Object parameter, CallableStatement statement, String name, AbstractSession session)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall.

INTERNAL: DBase does not support Time/Timestamp so we must map to strings.
public boolean
shouldUseJDBCOuterJoinSyntax()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.shouldUseJDBCOuterJoinSyntax.

JDBC defines and outer join syntax, many drivers do not support this.
public boolean
public boolean

Constructor Detail

DBasePlatformback to summary
public DBasePlatform()

Default constructor.

Method Detail

buildFieldTypesback to summary
protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildFieldTypes.

Doc from org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildFieldTypes.

Return the mapping of class types to database types for the schema framework.

Annotations
@Override
convertToDatabaseTypeback to summary
public Object convertToDatabaseType(Object value)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.convertToDatabaseType.

INTERNAL We support more primitive than JDBC does so we must do conversion before printing or binding.

Annotations
@Override
getMaxFieldNameSizeback to summary
public int getMaxFieldNameSize()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getMaxFieldNameSize.

INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.

Annotations
@Override
getSelectForUpdateStringback to summary
public String getSelectForUpdateString()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getSelectForUpdateString.

Doc from org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getSelectForUpdateString.

Most database support a syntax. although don't actually lock the row. Some require the OF some don't like it.

Annotations
@Override
isDBaseback to summary
public boolean isDBase()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.isDBase.

Implements org.eclipse.persistence.internal.databaseaccess.Platform.isDBase.

Annotations
@Override
maximumNumericValuesback to summary
public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.maximumNumericValues.

Builds a table of minimum numeric values keyed on java class. This is used for type testing but might also be useful to end users attempting to sanitize values.

Note

BigInteger & BigDecimal minimums are dependent upon their precision & Scale

Annotations
@Override
minimumNumericValuesback to summary
public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.minimumNumericValues.

Builds a table of minimum numeric values keyed on java class. This is used for type testing but might also be useful to end users attempting to sanitize values.

Note

BigInteger & BigDecimal minimums are dependent upon their precision & Scale

Annotations
@Override
printFieldNotNullClauseback to summary
public void printFieldNotNullClause(Writer writer)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.printFieldNotNullClause.

Append the receiver's field 'NOT NULL' constraint clause to a writer.

Annotations
@Override
setParameterValueInDatabaseCallback to summary
public void setParameterValueInDatabaseCall(Object parameter, PreparedStatement statement, int index, AbstractSession session) throws SQLException

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall.

INTERNAL: DBase does not support Time/Timestamp so we must map to strings.

Annotations
@Override
setParameterValueInDatabaseCallback to summary
public void setParameterValueInDatabaseCall(Object parameter, CallableStatement statement, String name, AbstractSession session) throws SQLException

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall.

INTERNAL: DBase does not support Time/Timestamp so we must map to strings.

Annotations
@Override
shouldUseJDBCOuterJoinSyntaxback to summary
public boolean shouldUseJDBCOuterJoinSyntax()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.shouldUseJDBCOuterJoinSyntax.

JDBC defines and outer join syntax, many drivers do not support this. So we normally avoid it.

Annotations
@Override
supportsForeignKeyConstraintsback to summary
public boolean supportsForeignKeyConstraints()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.supportsForeignKeyConstraints.

Annotations
@Override
supportsPrimaryKeyConstraintback to summary
public boolean supportsPrimaryKeyConstraint()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.supportsPrimaryKeyConstraint.

Annotations
@Override