org.exolab.castor.persist.spi

Interface PersistenceFactory

Known Implementing Classes:
BaseFactory, DB2Factory, GenericFactory, HsqlFactory, InformixFactory, InstantDBFactory, InterbaseFactory, MySQLFactory, OracleFactory, PostgreSQLFactory, SapDbFactory, SQLServerFactory, SybaseFactory

public interface PersistenceFactory

Factory for producing new persistence implementations. Used for constructing a persistence service provider (see Persistence) as well as for constructing new query expressions (see QueryExpression).

The factory is specified in the JDO configuration file for the database and is configured through Bean-like accessor methods.

Version:
$Revision: 1.1.1.1 $ $Date: 2003/03/03 07:08:51 $
Author:
Assaf Arkin
See Also:
Persistence

Method Summary

String
getFactoryName()
Returns the name of this factory.
Persistence
getPersistence(ClassDescriptor clsDesc, LogInterceptor logInterceptor)
Returns a persistence implementation for the specified object type (given its descriptor) on behalf of the specified cache engine.
QueryExpression
getQueryExpression()
Returns a new empty query expression suitable for the underlying SQL engine.
Boolean
isDuplicateKeyException(Exception except)
Determines it the given exception is indication of a duplicate key.
String
quoteName(String name)
Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.

Method Details

getFactoryName

public String getFactoryName()
Returns 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

getPersistence

public Persistence getPersistence(ClassDescriptor clsDesc,
                                  LogInterceptor logInterceptor)
            throws MappingException
Returns a persistence implementation for the specified object type (given its descriptor) on behalf of the specified cache engine. Return null if no persistence support is available for the specified object type.
Parameters:
clsDesc - The class descriptor
logInterceptor - Interceptor to write log messages to (may be null)
Returns:
A suiteable persistence implementation, or null
Throws:
MappingException - Indicates that the object type is not supported by the persistence engine due to improper mapping

getQueryExpression

public QueryExpression getQueryExpression()
Returns 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

isDuplicateKeyException

public Boolean isDuplicateKeyException(Exception except)
Determines it the given exception is indication of a duplicate key.
Returns:
TRUE means "yes", FALSE means "no", null means "cannot determine"

quoteName

public String quoteName(String name)
Returns the quoted identifier suitable for preventing conflicts between database identifiers and reserved keywords.
Parameters:
name - The identifier (table, column, etc)
Returns:
The quoted identifier

Intalio Inc. (C) 1999-2003. All rights reserved http://www.intalio.com