jodd.db.oom
Class DbOomManager

java.lang.Object
  extended by jodd.db.oom.DbOomManager

public class DbOomManager
extends java.lang.Object

DbOom manager. Contains various global settings, DB-OOM (database - object-oriented) mapping definitions, naming conventions etc.

Important: configure settings before entity registration!

Mapping definitions are used only by a result set mapper (such as ResultSetMapper to lookup for an entity from table name. Table names are read from result-set meta data, for example. Moreover, it is not needed to use mappings at all: in that case just provide entity types during result set to objects conversion.

See Also:
DbManager

Field Summary
protected  java.lang.String columnAliasSeparator
           
protected  ColumnNamingStrategy columnNames
           
protected  ColumnAliasType defaultColumnAliasType
           
protected  java.util.Map<java.lang.Class,DbEntityDescriptor> descriptorsMap
           
protected  java.util.Map<java.lang.String,DbEntityDescriptor> entityNamesMap
           
protected  JoinHintResolver hintResolver
           
protected  java.lang.String[] primitiveEntitiesPrefixes
           
protected  java.lang.String schemaName
           
protected  boolean strictCompare
           
protected  TableNamingStrategy tableNames
           
protected  java.util.Map<java.lang.String,DbEntityDescriptor> tableNamesMap
           
 
Constructor Summary
DbOomManager()
           
 
Method Summary
protected  DbEntityDescriptor createDbEntityDescriptor(java.lang.Class type)
          Creates DbEntityDescriptor.
<E> E
createEntityInstance(java.lang.Class<E> type)
          Creates new entity instances.
 ResultSetMapper createResultSetMapper(java.sql.ResultSet resultSet, java.util.Map<java.lang.String,ColumnData> columnAliases)
          Creates a new instance of ResultSetMapper.
 java.lang.String getColumnAliasSeparator()
          Returns value for separator for column aliases that divides table reference and column name.
 ColumnNamingStrategy getColumnNames()
          Returns current column name strategy.
 ColumnAliasType getDefaultColumnAliasType()
           
 JoinHintResolver getHintResolver()
           
static DbOomManager getInstance()
          Returns DbOom manager instance.
 java.lang.String[] getPrimitiveEntitiesPrefixes()
           
 TableNamingStrategy getTableNames()
          Returns current table name strategy.
 int getTotalNames()
          Returns total number of registered entity names.
 int getTotalTableNames()
          Returns total number of registered table names.
 int getTotalTypes()
          Returns total number of registered types.
 boolean isRegistered(java.lang.Class type)
          Returns true if type is registered withing manager.
 boolean isStrictCompare()
           
 DbEntityDescriptor lookupName(java.lang.String typeName)
          Lookups for DbEntityDescriptor that was registered with this manager.
 DbEntityDescriptor lookupTableName(java.lang.String tableName)
          Lookups for DbEntityDescriptor that was registered with this manager.
 DbEntityDescriptor lookupType(java.lang.Class type)
          Lookups DbEntityDescriptor for some type and registers the type if is new.
 DbEntityDescriptor registerEntity(java.lang.Class type)
          Registers entity.
 DbEntityDescriptor registerEntity(java.lang.Class type, boolean force)
          Registers entity.
 DbEntityDescriptor registerType(java.lang.Class type)
          Registers just type and entity names.
 DbEntityDescriptor removeEntity(java.lang.Class type)
          Removes entity.
 void reset()
          Resets the manager and clears descriptors maps.
static void resetAll()
          Resets DbOom Manager to defaults.
 void setColumnAliasSeparator(java.lang.String separator)
          Specifies separator for column aliases that divides table reference and column name.
 void setColumnNames(ColumnNamingStrategy columnNames)
          Sets new column name strategy,
 void setDefaultColumnAliasType(ColumnAliasType defaultColumnAliasType)
          Specifies default column alias type.
 void setHintResolver(JoinHintResolver hintResolver)
          Specifies hint resolver.
static void setInstance(DbOomManager oomManager)
          Sets new DbOom manager.
 void setPrimitiveEntitiesPrefixes(java.lang.String... primitiveEntitiesPrefixes)
          Specifies array of class name prefixes that will be mapped directly to column.
 void setStrictCompare(boolean strictCompare)
          Enables strict comparison of table and column names.
 void setTableNames(TableNamingStrategy tableNames)
          Sets new table name strategy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

schemaName

protected java.lang.String schemaName

tableNames

protected TableNamingStrategy tableNames

columnNames

protected ColumnNamingStrategy columnNames

strictCompare

protected boolean strictCompare

primitiveEntitiesPrefixes

protected java.lang.String[] primitiveEntitiesPrefixes

descriptorsMap

protected java.util.Map<java.lang.Class,DbEntityDescriptor> descriptorsMap

entityNamesMap

protected java.util.Map<java.lang.String,DbEntityDescriptor> entityNamesMap

tableNamesMap

protected java.util.Map<java.lang.String,DbEntityDescriptor> tableNamesMap

columnAliasSeparator

protected java.lang.String columnAliasSeparator

hintResolver

protected JoinHintResolver hintResolver

defaultColumnAliasType

protected ColumnAliasType defaultColumnAliasType
Constructor Detail

DbOomManager

public DbOomManager()
Method Detail

getInstance

public static DbOomManager getInstance()
Returns DbOom manager instance.


setInstance

public static void setInstance(DbOomManager oomManager)
Sets new DbOom manager.


resetAll

public static void resetAll()
Resets DbOom Manager to defaults. It's done by simply creating a new instance of DbOom manager.


getTableNames

public TableNamingStrategy getTableNames()
Returns current table name strategy.


setTableNames

public void setTableNames(TableNamingStrategy tableNames)
Sets new table name strategy.


getColumnNames

public ColumnNamingStrategy getColumnNames()
Returns current column name strategy.


setColumnNames

public void setColumnNames(ColumnNamingStrategy columnNames)
Sets new column name strategy,


isStrictCompare

public boolean isStrictCompare()

setStrictCompare

public void setStrictCompare(boolean strictCompare)
Enables strict comparison of table and column names.


getPrimitiveEntitiesPrefixes

public java.lang.String[] getPrimitiveEntitiesPrefixes()

setPrimitiveEntitiesPrefixes

public void setPrimitiveEntitiesPrefixes(java.lang.String... primitiveEntitiesPrefixes)
Specifies array of class name prefixes that will be mapped directly to column.


lookupType

public DbEntityDescriptor lookupType(java.lang.Class type)
Lookups DbEntityDescriptor for some type and registers the type if is new.

Returns null for core classes from java run-time packages! Some types are not entities, i.e. domain objects. Instead, primitive entities are simply mapped to one column.


isRegistered

public boolean isRegistered(java.lang.Class type)
Returns true if type is registered withing manager.


lookupName

public DbEntityDescriptor lookupName(java.lang.String typeName)
Lookups for DbEntityDescriptor that was registered with this manager. Returns null if name not found.


lookupTableName

public DbEntityDescriptor lookupTableName(java.lang.String tableName)
Lookups for DbEntityDescriptor that was registered with this manager. Returns null if table name not found.


registerType

public DbEntityDescriptor registerType(java.lang.Class type)
Registers just type and entity names. Enough for most usages.


registerEntity

public DbEntityDescriptor registerEntity(java.lang.Class type)
Registers entity. Registers types and table names. Throw exception is type is already registered.


registerEntity

public DbEntityDescriptor registerEntity(java.lang.Class type,
                                         boolean force)
Registers entity. Existing entity will be removed if exist, so no exception will be thrown.


removeEntity

public DbEntityDescriptor removeEntity(java.lang.Class type)
Removes entity.


createDbEntityDescriptor

protected DbEntityDescriptor createDbEntityDescriptor(java.lang.Class type)
Creates DbEntityDescriptor.


getTotalNames

public int getTotalNames()
Returns total number of registered entity names.


getTotalTableNames

public int getTotalTableNames()
Returns total number of registered table names.


getTotalTypes

public int getTotalTypes()
Returns total number of registered types.


reset

public void reset()
Resets the manager and clears descriptors maps. The configuration is not changed, just table-related data is cleared. To reset all, call resetAll().


getColumnAliasSeparator

public java.lang.String getColumnAliasSeparator()
Returns value for separator for column aliases that divides table reference and column name.


setColumnAliasSeparator

public void setColumnAliasSeparator(java.lang.String separator)
Specifies separator for column aliases that divides table reference and column name. Separator should contains of characters that are not used in table names, such as: '$' or '__'.


getHintResolver

public JoinHintResolver getHintResolver()

setHintResolver

public void setHintResolver(JoinHintResolver hintResolver)
Specifies hint resolver.


getDefaultColumnAliasType

public ColumnAliasType getDefaultColumnAliasType()

setDefaultColumnAliasType

public void setDefaultColumnAliasType(ColumnAliasType defaultColumnAliasType)
Specifies default column alias type.


createResultSetMapper

public ResultSetMapper createResultSetMapper(java.sql.ResultSet resultSet,
                                             java.util.Map<java.lang.String,ColumnData> columnAliases)
Creates a new instance of ResultSetMapper.


createEntityInstance

public <E> E createEntityInstance(java.lang.Class<E> type)
Creates new entity instances.



Copyright © 2003-2012 Jodd Team