Class BaseFactory

java.lang.Object
org.castor.cpa.persistence.sql.driver.BaseFactory
All Implemented Interfaces:
PersistenceFactory
Direct Known Subclasses:
GenericFactory

public abstract class BaseFactory extends Object implements PersistenceFactory
PersistenceFactory for generic JDBC driver.
Version:
$Revision: 8321 $ $Date: 2006-04-10 16:39:24 -0600 (Mon, 10 Apr 2006) $
Author:
Assaf Arkin, Bruce Snyder
  • Constructor Details

    • BaseFactory

      public BaseFactory()
  • Method Details

    • getKeyGenerator

      public KeyGenerator getKeyGenerator(ClassDescriptor clsDesc) throws MappingException
      Returns a key generator as specified in the given class descriptor.
      Specified by:
      getKeyGenerator in interface PersistenceFactory
      Parameters:
      clsDesc - The class descriptor.
      Returns:
      A suitable key generator or null.
      Throws:
      MappingException - If creation of key generator fails.
    • getPersistence

      public Persistence getPersistence(ClassDescriptor clsDesc)
      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.
      Specified by:
      getPersistence in interface PersistenceFactory
      Parameters:
      clsDesc - The class descriptor.
      Returns:
      A suitable persistence implementation or null.
    • getCallQuery

      public PersistenceQuery getCallQuery(String call, Class<?>[] paramTypes, Class<?> javaClass, String[] fields, int[] sqlTypes)
      Needed to process OQL queries of "CALL" type (using stored procedure call). This feature is specific for JDO.
      Specified by:
      getCallQuery in interface PersistenceFactory
      Parameters:
      call - Stored procedure call (without "{call")
      paramTypes - The types of the query parameters
      javaClass - The Java class of the query results
      fields - The field names
      sqlTypes - The field SQL types
      Returns:
      null if this feature is not supported.
    • adjustSqlType

      public Class<?> adjustSqlType(Class<?> sqlType)
      Some databases has some problems with some SQL types. Usually it is enough to merely replace one SQL type by another.
      Specified by:
      adjustSqlType in interface PersistenceFactory
      Parameters:
      sqlType - The correspondent Java class for the SQL type in mapping.xml
      Returns:
      The correspondent Java class for the SQL type that should be used instead.