org.nuiton.topia.persistence.util
Class DBMapping
java.lang.Object
org.nuiton.topia.persistence.util.DBMapping
public abstract class DBMapping
- extends java.lang.Object
Une classe qui permet d'obtenir les mapping de noms entre les entités et les objets de la base.
On retrouve aussi ici des méthodes utils pour executer du code sql sur la base (notamment la gestion des séquences).
- Author:
- tchemit
|
Constructor Summary |
DBMapping(java.lang.String propertyFile,
java.lang.String path)
|
|
Method Summary |
protected java.lang.String |
checkSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName)
|
protected java.lang.String |
checkSequence(java.lang.String sequenceKey)
|
void |
close()
|
void |
createSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
|
void |
createSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
|
void |
createSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
|
void |
createSequences(TopiaContext ctxt)
|
protected void |
doSQLWork(TopiaContext ctxt,
java.lang.String sql)
|
boolean |
existSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
|
boolean |
existSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
|
boolean |
existSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
|
protected void |
finalize()
|
protected java.math.BigInteger |
getBigInteger(TopiaContext ctxt,
java.lang.String sql,
java.math.BigInteger defaultSize)
|
protected abstract java.lang.Class<? extends TopiaEntity> |
getContractClass(java.lang.Class<? extends TopiaEntity> entityClass)
|
java.math.BigInteger |
getCurrentValueFromSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
|
java.math.BigInteger |
getCurrentValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
|
java.math.BigInteger |
getCurrentValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
|
protected java.lang.String |
getDBProperty(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String property)
|
protected java.lang.String |
getDBTable(java.lang.Class<? extends TopiaEntity> entityClass)
|
java.math.BigInteger |
getNextValueFromSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
|
java.math.BigInteger |
getNextValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
|
java.math.BigInteger |
getNextValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
|
java.util.Iterator<java.lang.String> |
getSequenceKeysIterator()
|
protected java.lang.String |
getSequencePropertyName(java.lang.String sequenceKey)
|
protected java.lang.String |
getSequenceSQL(java.lang.String pattern,
java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName)
|
protected java.lang.String |
getSequenceSQL(java.lang.String pattern,
java.lang.String sequenceKey)
|
void |
init(TopiaContext ctxt,
boolean doCreate,
boolean doUpdate)
|
protected void |
initMapping(java.util.Properties props)
|
void |
updateSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
|
void |
updateSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
|
void |
updateSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
|
void |
updateSequences(TopiaContext ctxt)
|
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
log
protected static final org.apache.commons.logging.Log log
- log
CLASS_PATTERN
protected static final java.lang.String CLASS_PATTERN
- See Also:
- Constant Field Values
DBNAME_ATTRIBUTE_PATTERN
protected static final java.lang.String DBNAME_ATTRIBUTE_PATTERN
- See Also:
- Constant Field Values
SEQUENCE_ATTRIBUTE_PATTERN
protected static final java.lang.String SEQUENCE_ATTRIBUTE_PATTERN
- See Also:
- Constant Field Values
CREATE_SEQUENCE_FORMAT
protected static final java.lang.String CREATE_SEQUENCE_FORMAT
- See Also:
- Constant Field Values
UPDATE_SEQUENCE_FORMAT
protected static final java.lang.String UPDATE_SEQUENCE_FORMAT
- See Also:
- Constant Field Values
CURRENT_VALUE_SEQUENCE_FORMAT
protected static final java.lang.String CURRENT_VALUE_SEQUENCE_FORMAT
- See Also:
- Constant Field Values
NEXT_VALUE_SEQUENCE_FORMAT
protected static final java.lang.String NEXT_VALUE_SEQUENCE_FORMAT
- See Also:
- Constant Field Values
SCHEMA_FORMAT
protected static final java.lang.String SCHEMA_FORMAT
- See Also:
- Constant Field Values
DOT
protected static final java.lang.String DOT
- See Also:
- Constant Field Values
mappingBeanToDb
protected java.util.Map<java.lang.String,java.lang.String> mappingBeanToDb
sequences
protected java.util.Map<java.lang.String,java.lang.Class<? extends TopiaEntity>> sequences
schema
protected java.lang.String schema
DBMapping
public DBMapping(java.lang.String propertyFile,
java.lang.String path)
throws java.io.IOException
- Throws:
java.io.IOException
getContractClass
protected abstract java.lang.Class<? extends TopiaEntity> getContractClass(java.lang.Class<? extends TopiaEntity> entityClass)
throws TopiaException
- Throws:
TopiaException
init
public void init(TopiaContext ctxt,
boolean doCreate,
boolean doUpdate)
throws TopiaException
- Throws:
TopiaException
createSequences
public void createSequences(TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
updateSequences
public void updateSequences(TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
existSequence
public boolean existSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
createSequence
public void createSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
updateSequence
public void updateSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
getCurrentValueFromSequence
public java.math.BigInteger getCurrentValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
getNextValueFromSequence
public java.math.BigInteger getNextValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
existSequence
public boolean existSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
createSequence
public void createSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
updateSequence
public void updateSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
getCurrentValueFromSequence
public java.math.BigInteger getCurrentValueFromSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
getNextValueFromSequence
public java.math.BigInteger getNextValueFromSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName,
TopiaContext ctxt)
throws TopiaException
- Throws:
TopiaException
getSequenceKeysIterator
public java.util.Iterator<java.lang.String> getSequenceKeysIterator()
existSequence
public boolean existSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
throws TopiaException
- Throws:
TopiaException
createSequence
public void createSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
throws TopiaException
- Throws:
TopiaException
updateSequence
public void updateSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
throws TopiaException
- Throws:
TopiaException
getCurrentValueFromSequence
public java.math.BigInteger getCurrentValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
throws TopiaException
- Throws:
TopiaException
getNextValueFromSequence
public java.math.BigInteger getNextValueFromSequence(java.lang.String sequenceKey,
TopiaContext ctxt,
boolean check)
throws TopiaException
- Throws:
TopiaException
getDBProperty
protected java.lang.String getDBProperty(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String property)
throws TopiaException
- Parameters:
entityClass - the seek entity classproperty - the name of the property to translate
- Returns:
- the DB name for the given property
- Throws:
TopiaException - if any db pb
getDBTable
protected java.lang.String getDBTable(java.lang.Class<? extends TopiaEntity> entityClass)
throws TopiaException
- Parameters:
entityClass - the seek entity class
- Returns:
- the DB name for the given property
- Throws:
TopiaException - if any db pb
getSequenceSQL
protected java.lang.String getSequenceSQL(java.lang.String pattern,
java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName)
throws TopiaException
- Throws:
TopiaException
getSequenceSQL
protected java.lang.String getSequenceSQL(java.lang.String pattern,
java.lang.String sequenceKey)
throws TopiaException
- Throws:
TopiaException
getBigInteger
protected java.math.BigInteger getBigInteger(TopiaContext ctxt,
java.lang.String sql,
java.math.BigInteger defaultSize)
throws TopiaException
- Throws:
TopiaException
doSQLWork
protected void doSQLWork(TopiaContext ctxt,
java.lang.String sql)
throws TopiaException
- Throws:
TopiaException
getSequencePropertyName
protected java.lang.String getSequencePropertyName(java.lang.String sequenceKey)
checkSequence
protected java.lang.String checkSequence(java.lang.Class<? extends TopiaEntity> entityClass,
java.lang.String propertyName)
throws java.lang.IllegalArgumentException,
TopiaException
- Throws:
java.lang.IllegalArgumentException
TopiaException
checkSequence
protected java.lang.String checkSequence(java.lang.String sequenceKey)
throws java.lang.IllegalArgumentException,
TopiaException
- Throws:
java.lang.IllegalArgumentException
TopiaException
initMapping
protected void initMapping(java.util.Properties props)
throws java.io.IOException
- Throws:
java.io.IOException
finalize
protected void finalize()
throws java.lang.Throwable
- Overrides:
finalize in class java.lang.Object
- Throws:
java.lang.Throwable
close
public void close()
Copyright © 2004-2010 CodeLutin. All Rights Reserved.