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

public Class AccessPlatform

extends DatabasePlatform
Class Inheritance
Imports
java.io.*, java.util.*, org.eclipse.persistence.exceptions.ValidationException, org.eclipse.persistence.expressions.*, org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition, org.eclipse.persistence.internal.sessions.AbstractSession, org.eclipse.persistence.queries.ValueReadQuery, org.eclipse.persistence.tools.schemaframework.FieldDefinition

Purpose: Provides Microsoft Access specific behavior.

Since
TOPLink/Java 1.0

Field Summary

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

Constructor Summary

AccessConstructor and Description
public
AccessPlatform()

Default constructor.

Method Summary

Modifier and TypeMethod and Description
protected Map<String, Class<?>>
buildClassTypes()

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

Return the mapping of class types to database types for the schema framework.
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 ValueReadQuery
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 Timestamp
protected void
public boolean
public Hashtable<Class<? extends Number>, ? super Number>
maximumNumericValues()

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

Builds a table of maximum 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
printFieldIdentityClause(Writer writer)

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

Append the receiver's field 'identity' constraint clause to a writer.
public void
public void
public boolean
requiresNamedPrimaryKeyConstraints()

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

This is used as some databases create the primary key constraint differently, i.e. Access.
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
supportsIdentity()

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

INTERNAL: Indicates whether the platform supports identity.

Constructor Detail

AccessPlatformback to summary
public AccessPlatform()

Default constructor.

Method Detail

buildClassTypesback to summary
protected Map<String, Class<?>> buildClassTypes()

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

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

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

Annotations
@Override
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
buildSelectQueryForIdentityback to summary
public ValueReadQuery buildSelectQueryForIdentity()

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

INTERNAL: Build the identity query for native sequencing.

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
getTimestampFromServerback to summary
public Timestamp getTimestampFromServer(AbstractSession session, String sessionName)

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

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

Access do not support millisecond well, truncate the millisecond from the timestamp

Annotations
@Override
initializePlatformOperatorsback to summary
protected void initializePlatformOperators()

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

Initialize any platform-specific operators

Annotations
@Override
isAccessback to summary
public boolean isAccess()

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

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

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 maximum 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 maximums 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
printFieldIdentityClauseback to summary
public void printFieldIdentityClause(Writer writer) throws ValidationException

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

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

Annotations
@Override
printFieldTypeSizeback to summary
public void printFieldTypeSize(Writer writer, FieldDefinition field, FieldTypeDefinition fieldType, boolean shouldPrintFieldIdentityClause) throws IOException

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

Annotations
@Override
printFieldUniqueback to summary
public void printFieldUnique(Writer writer, boolean shouldPrintFieldIdentityClause) throws IOException

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

Annotations
@Override
requiresNamedPrimaryKeyConstraintsback to summary
public boolean requiresNamedPrimaryKeyConstraints()

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

This is used as some databases create the primary key constraint differently, i.e. Access.

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
supportsIdentityback to summary
public boolean supportsIdentity()

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

INTERNAL: Indicates whether the platform supports identity. Sybase does through IDENTITY field types. This method is to be used *ONLY* by sequencing classes

Annotations
@Override