jodd.db.orm
Class DbOrm

java.lang.Object
  extended by jodd.db.orm.DbOrm

public class DbOrm
extends java.lang.Object

Global DB-ORM mapping definitions, prefixes and cache.

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.


Field Summary
protected  java.lang.String columnAliasSeparator
           
static ColumnAliasType DEFAULT_COLUMN_ALIAS_TYPE
          Default column alias type, when they are used.
protected  java.util.Map<java.lang.Class,DbEntityDescriptor> descriptors
           
protected  java.util.Map<java.lang.String,DbEntityDescriptor> entityNames
           
protected  boolean entityNamesInUse
           
protected static DbOrm orm
           
protected  java.lang.String[] primitiveEntitiesPrefixes
           
protected  java.lang.String tablePrefix
           
 
Constructor Summary
protected DbOrm()
          Singleton.
 
Method Summary
 void clearDescriptorsCache()
          Clears descriptors cache.
 java.lang.String getColumnAliasSeparator()
          Returns value for separator for column aliases that divides table reference and column name.
static DbOrm getInstance()
          Returns current DB-ORM instance.
 java.lang.String[] getPrimitiveEntitiesPrefixes()
           
 java.lang.String getTablePrefix()
          Returns current table prefix.
 int getTotalNames()
          Return total number of entity names.
 int getTotalTypes()
          Returns total number of registered types.
 boolean isEntityNamesInUse()
          Returns true if entity names are cached.
 DbEntityDescriptor lookupName(java.lang.String typeName)
          Lookups for DbEntityDescriptor that was registered with this DbOrm.
 DbEntityDescriptor lookupType(java.lang.Class type)
          Lookups for DbEntityDescriptor and registers it if type is new.
 DbEntityDescriptor register(java.lang.Class type)
          Registers entity type.
 void setColumnAliasSeparator(java.lang.String separator)
          Specifies separator for column aliases that divides table reference and column name.
 void setEntityNamesInUse(boolean entityNamesInUse)
          Sets if entity names should be cached.
static void setInstance(DbOrm orm)
          Sets new default instance for DB-ORM mapper.
 void setPrimitiveEntitiesPrefixes(java.lang.String[] primitiveEntitiesPrefixes)
           
 DbOrm setTablePrefix(java.lang.String prefix)
          Sets default table prefix for all tables.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

orm

protected static DbOrm orm

tablePrefix

protected java.lang.String tablePrefix

entityNamesInUse

protected boolean entityNamesInUse

primitiveEntitiesPrefixes

protected java.lang.String[] primitiveEntitiesPrefixes

descriptors

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

entityNames

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

columnAliasSeparator

protected java.lang.String columnAliasSeparator

DEFAULT_COLUMN_ALIAS_TYPE

public static ColumnAliasType DEFAULT_COLUMN_ALIAS_TYPE
Default column alias type, when they are used.

Constructor Detail

DbOrm

protected DbOrm()
Singleton.

Method Detail

getInstance

public static DbOrm getInstance()
Returns current DB-ORM instance.


setInstance

public static void setInstance(DbOrm orm)
Sets new default instance for DB-ORM mapper. If parameter is null current instance will be replaced with new instance of this class.


setTablePrefix

public DbOrm setTablePrefix(java.lang.String prefix)
Sets default table prefix for all tables. This prefix affect default conversions from bean name to table name and vice-versa when no annotations are used.


getTablePrefix

public java.lang.String getTablePrefix()
Returns current table prefix.


isEntityNamesInUse

public boolean isEntityNamesInUse()
Returns true if entity names are cached.


setEntityNamesInUse

public void setEntityNamesInUse(boolean entityNamesInUse)
Sets if entity names should be cached.


getPrimitiveEntitiesPrefixes

public java.lang.String[] getPrimitiveEntitiesPrefixes()

setPrimitiveEntitiesPrefixes

public void setPrimitiveEntitiesPrefixes(java.lang.String[] primitiveEntitiesPrefixes)

lookupType

public DbEntityDescriptor lookupType(java.lang.Class type)
Lookups for DbEntityDescriptor and registers it if type 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.


register

public DbEntityDescriptor register(java.lang.Class type)
Registers entity type. It parses specified type and stores data. If entity names is in use then type names will be associated to parsed data as well.


lookupName

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


getTotalNames

public int getTotalNames()
Return total number of entity names.


getTotalTypes

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


clearDescriptorsCache

public void clearDescriptorsCache()
Clears descriptors cache.


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 '__'.



Copyright ©2008 Jodd Team