|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectvelosurf.model.Entity
public class Entity
The Entity class represents an entity in the data model.
| Nested Class Summary | |
|---|---|
class |
Entity.ColumnOrderComparator
|
(package private) class |
Entity.ValidationError
|
| Field Summary | |
|---|---|
private java.util.Map<java.lang.String,Action> |
actionMap
Action map. |
private java.util.Map<java.lang.String,java.lang.String> |
aliases
Column by alias map. |
private java.util.Map<java.lang.String,Attribute> |
attributeMap
Attribute map. |
private Cache |
cache
The cache. |
private int |
cachingMethod
The caching method. |
private java.util.List<java.lang.String> |
columns
Column names in natural order. |
private java.util.Map<java.lang.String,java.util.List<FieldConstraint>> |
constraints
Constraint by column name map. |
private Database |
db
The database connection. |
private java.lang.String |
fetchQuery
The SQL query used to fetch one instance of this entity. |
private java.lang.Class |
instanceClass
The java class to use to realize this instance. |
private boolean[] |
keyColObfuscated
Obfuscation status of key columns. |
private java.util.List<java.lang.String> |
keyCols
Key column names in natural order. |
private java.util.List |
localizedColumns
Localized columns. |
private static int |
MAX_DATA_DISPLAY_LENGTH
Truncate validation error messages to a maximum number of characters. |
private java.lang.String |
name
Name. |
private boolean |
obfuscate
Whether to obfuscate something. |
private java.util.List<java.lang.String> |
obfuscatedColumns
Names of obfuscated columns. |
private boolean |
readOnly
Whether this entity is read-only or not. |
private java.lang.String |
table
Table. |
private java.util.Map<java.lang.String,java.lang.Integer> |
types
Column types |
private java.util.List<java.lang.String> |
updatableCols
Non-key column names in natural order |
| Constructor Summary | |
|---|---|
Entity(Database db,
java.lang.String name,
boolean readOnly,
int cachingMethod)
Constructor reserved for the framework. |
|
| Method Summary | |
|---|---|
void |
addAction(Action action)
Add an action. |
void |
addAlias(java.lang.String alias,
java.lang.String column)
Add a column alias. |
void |
addAttribute(Attribute attribute)
Add a new attribute. |
void |
addColumn(java.lang.String colName,
int sqlType)
Add a column at the end of the sequential list of named columns. |
void |
addConstraint(java.lang.String column,
FieldConstraint constraint)
Add a constraint. |
void |
addPKColumn(java.lang.String colName)
Add a key column to the sequential list of the key columns. |
private void |
buildFetchQuery()
Build the SQL query used to fetch one instance of this query. |
private java.lang.Object |
buildKey(java.util.List<java.lang.Object> values)
Build the key for the Cache from a List |
private java.lang.Object |
buildKey(java.util.Map<java.lang.String,java.lang.Object> values)
Build the key for the Cache from a Map. |
private java.lang.Object |
buildKey(java.lang.Number value)
Build the key for the Cache from a Number |
protected void |
clearCache()
Clear the cache (not used for now). |
boolean |
delete(java.util.Map<java.lang.String,java.lang.Object> values)
Delete a row based on (key) values. |
boolean |
delete(java.lang.Number keyValue)
Delete a row based on the unique key string value. |
boolean |
delete(java.lang.String keyValue)
Delete a row based on the unique key string value. |
java.lang.String |
deobfuscate(java.lang.Object value)
De-obfuscate given value. |
private void |
extractColumnValues(java.util.Map<java.lang.String,java.lang.Object> source,
java.util.Map<java.lang.String,java.lang.Object> target,
boolean SQLNames)
Extract column values from an input Map source and store result in target. |
Instance |
fetch(java.util.List<java.lang.Object> values)
Fetch an instance from key values stored in a List in natural order. |
Instance |
fetch(java.util.Map<java.lang.String,java.lang.Object> values)
Fetch an instance from key values stored in a Map. |
Instance |
fetch(java.lang.Number keyValue)
Fetch an instance from its key value specified as a Number. |
Instance |
fetch(java.lang.String keyValue)
Fetch an instance from its key value as a string. |
java.lang.Object |
filterID(java.lang.Long id)
Obfuscate this id value if needed. |
java.lang.Object |
filterIncomingValue(java.lang.String column,
java.lang.Object value)
|
ExportedKey |
findExportedKey(Entity fkEntity,
java.util.List<java.lang.String> fkCols)
Check for the existence of an exported key with the same columns. |
ImportedKey |
findImportedKey(Entity pkEntity,
java.util.List<java.lang.String> fkCols)
Check for the existence of an imported key with the same columns. |
Action |
getAction(java.lang.String property)
Get an action. |
java.util.Map<java.lang.String,Action> |
getActions()
|
Attribute |
getAttribute(java.lang.String property)
Get a named attribute. |
java.util.Map<java.lang.String,Attribute> |
getAttributes()
|
int |
getColumnIndex(java.lang.String name)
|
java.util.Comparator<java.lang.String> |
getColumnOrderComparator()
|
java.util.List<java.lang.String> |
getColumns()
Getter for the list of column names. |
int |
getColumnType(java.lang.String column)
Get the SQL type for the specified column |
long |
getCount()
|
long |
getCount(java.util.List refineCriteria)
|
Database |
getDB()
Get the database connection. |
java.lang.String |
getFetchQuery()
Get the SQL query string used to fetch one instance of this query. |
java.lang.String |
getName()
Getter for the name of this entity. |
java.util.List<java.lang.String> |
getPKCols()
Getter for the list of key column names. |
java.lang.String |
getTableName()
Get the name of the mapped table. |
int |
getUpdatableColumnIndex(java.lang.String name)
|
java.util.List<java.lang.String> |
getUpdatableColumns()
|
boolean |
hasLocalizedColumns()
Does this entity have localized columns? |
boolean |
insert(java.util.Map<java.lang.String,java.lang.Object> values)
Insert a new row based on values of a map. |
void |
invalidateInstance(java.util.Map<java.lang.String,java.lang.Object> instance)
Invalidate an instance in the cache. |
boolean |
isColumn(java.lang.String name)
|
boolean |
isLocalized(java.lang.String column)
Returns whether the given column is obfuscated. |
boolean |
isObfuscated(java.lang.String column)
Returns whether the given column is obfuscated. |
boolean |
isReadOnly()
Is this entity read-only or read-write? |
boolean |
isRootEntity()
|
Instance |
newInstance()
Create a new realisation of this entity. |
Instance |
newInstance(java.util.Map<java.lang.String,java.lang.Object> values)
Build a new instance from a Map object. |
Instance |
newInstance(java.util.Map<java.lang.String,java.lang.Object> values,
boolean useSQLnames)
Build a new instance from a Map object. |
java.lang.String |
obfuscate(java.lang.Object value)
Obfuscate given value. |
RowIterator |
query()
Issue a query to iterate though all instances of this entity. |
RowIterator |
query(java.util.List refineCriteria,
java.lang.String order)
Issue a query to iterate thought instances of this entity, with a facultative refining criteria and a facultative order by clause. |
java.lang.String |
resolveName(java.lang.String alias)
Translates an alias to its column name. |
void |
reverseEnginered()
Used by the framework to notify this entity that its reverse enginering is over. |
void |
setCachingMethod(int caching)
Specify the caching method. |
void |
setInstanceClass(java.lang.String className)
Specify a custom class to use when instanciating this entity. |
void |
setLocalized(java.util.List columns)
Indicates a column as being localized. |
void |
setObfuscated(java.util.List<java.lang.String> columns)
Indicates a column as being obfuscated. |
void |
setReadOnly(boolean readOnly)
Set this entity to be read-only or read-write. |
void |
setTableName(java.lang.String table)
Set the name of the table mapped by this entity. |
boolean |
update(java.util.Map<java.lang.String,java.lang.Object> values)
Update a row based on a set of values that must contain key values. |
boolean |
upsert(java.util.Map<java.lang.String,java.lang.Object> values)
Upsert a row based on a set of values (entity's primary key must be one column long - it can be omitted from provided values) |
boolean |
validate(java.util.Map<java.lang.String,java.lang.Object> row)
Validate a set of values. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final int MAX_DATA_DISPLAY_LENGTH
private java.lang.String name
private java.lang.String table
private java.util.List<java.lang.String> columns
private java.util.Map<java.lang.String,java.lang.Integer> types
private java.util.List<java.lang.String> keyCols
private java.util.List<java.lang.String> updatableCols
private boolean obfuscate
private java.util.List<java.lang.String> obfuscatedColumns
private boolean[] keyColObfuscated
private java.util.List localizedColumns
private java.util.Map<java.lang.String,java.lang.String> aliases
private java.util.Map<java.lang.String,Attribute> attributeMap
private java.util.Map<java.lang.String,Action> actionMap
private java.lang.Class instanceClass
private java.lang.String fetchQuery
private boolean readOnly
private Database db
private int cachingMethod
private Cache cache
private java.util.Map<java.lang.String,java.util.List<FieldConstraint>> constraints
| Constructor Detail |
|---|
public Entity(Database db,
java.lang.String name,
boolean readOnly,
int cachingMethod)
db - database connectionname - entity namereadOnly - access mode (read-write or read-only)cachingMethod - caching method to be used| Method Detail |
|---|
public void addColumn(java.lang.String colName,
int sqlType)
colName - column name
public void addAlias(java.lang.String alias,
java.lang.String column)
alias - aliascolumn - columnpublic java.lang.String resolveName(java.lang.String alias)
alias - alias
public void addPKColumn(java.lang.String colName)
colName - name of the key columnpublic void addAttribute(Attribute attribute)
attribute - attributepublic Attribute getAttribute(java.lang.String property)
property - attribute name
public void addAction(Action action)
action - actionpublic Action getAction(java.lang.String property)
property - action name
public void setInstanceClass(java.lang.String className)
className - the java class namepublic void setCachingMethod(int caching)
Cache for allowed constants.
caching - Caching method
public void addConstraint(java.lang.String column,
FieldConstraint constraint)
column - column nameconstraint - constraintpublic void reverseEnginered()
protected void clearCache()
public Instance newInstance()
public Instance newInstance(java.util.Map<java.lang.String,java.lang.Object> values)
values - the Map object containing the values
public Instance newInstance(java.util.Map<java.lang.String,java.lang.Object> values,
boolean useSQLnames)
values - the Map object containing the valuesuseSQLnames - map keys use SQL column names that must be translated to aliases
public void invalidateInstance(java.util.Map<java.lang.String,java.lang.Object> instance)
throws java.sql.SQLException
instance - instance
java.sql.SQLException
private void extractColumnValues(java.util.Map<java.lang.String,java.lang.Object> source,
java.util.Map<java.lang.String,java.lang.Object> target,
boolean SQLNames)
throws java.sql.SQLException
source - Map source objecttarget - Map target objectSQLNames - the source uses SQL names
java.sql.SQLException
private java.lang.Object buildKey(java.util.Map<java.lang.String,java.lang.Object> values)
throws java.sql.SQLException
values - the Map containing all values (unaliased)
java.sql.SQLException - the getter of the Map throws an
SQLException
private java.lang.Object buildKey(java.util.List<java.lang.Object> values)
throws java.sql.SQLException
values - the Map containing all values (unaliased)
java.sql.SQLException - the getter of the Map throws an
SQLException
private java.lang.Object buildKey(java.lang.Number value)
throws java.sql.SQLException
values - the Map containing all values (unaliased)
java.sql.SQLException - the getter of the Map throws an
SQLExceptionpublic java.lang.String getName()
public java.util.List<java.lang.String> getPKCols()
public java.util.List<java.lang.String> getColumns()
public java.util.List<java.lang.String> getUpdatableColumns()
public boolean isColumn(java.lang.String name)
public int getColumnIndex(java.lang.String name)
public int getUpdatableColumnIndex(java.lang.String name)
public boolean insert(java.util.Map<java.lang.String,java.lang.Object> values)
throws java.sql.SQLException
values - the Map object containing the values
java.sql.SQLException
public boolean update(java.util.Map<java.lang.String,java.lang.Object> values)
throws java.sql.SQLException
values - the Map object containing the values
java.sql.SQLException
public boolean upsert(java.util.Map<java.lang.String,java.lang.Object> values)
throws java.sql.SQLException
values - the Map object containing the values
java.sql.SQLException
public boolean delete(java.util.Map<java.lang.String,java.lang.Object> values)
throws java.sql.SQLException
values - the Map containing the values
java.sql.SQLException
public boolean delete(java.lang.String keyValue)
throws java.sql.SQLException
keyValue - key value
java.sql.SQLException
public boolean delete(java.lang.Number keyValue)
throws java.sql.SQLException
keyValue - key value
java.sql.SQLException
public Instance fetch(java.util.List<java.lang.Object> values)
throws java.sql.SQLException
values - the List containing the key values
java.sql.SQLException
public Instance fetch(java.util.Map<java.lang.String,java.lang.Object> values)
throws java.sql.SQLException
values - the Map containing the key values
java.sql.SQLException
public Instance fetch(java.lang.String keyValue)
throws java.sql.SQLException
keyValue - the key
java.sql.SQLException
public Instance fetch(java.lang.Number keyValue)
throws java.sql.SQLException
keyValue - the key
java.sql.SQLExceptionpublic java.lang.String getFetchQuery()
private void buildFetchQuery()
public RowIterator query()
throws java.sql.SQLException
java.sql.SQLException
public RowIterator query(java.util.List refineCriteria,
java.lang.String order)
throws java.sql.SQLException
refineCriteria - a refining criteria or null to get all instancesorder - an 'order by' clause or null to get instances in their
natural order
java.sql.SQLExceptionpublic long getCount()
public long getCount(java.util.List refineCriteria)
public Database getDB()
public boolean isReadOnly()
public void setReadOnly(boolean readOnly)
readOnly - the mode to switch to : true for read-only, false for
read-writepublic void setTableName(java.lang.String table)
table - the table mapped by this entity
read-writepublic java.lang.String getTableName()
public void setObfuscated(java.util.List<java.lang.String> columns)
columns - list of obfuscated columnspublic boolean isObfuscated(java.lang.String column)
column - the name of the column
public java.lang.String obfuscate(java.lang.Object value)
value - value to obfuscate
public java.lang.Object filterID(java.lang.Long id)
id - id value
public java.lang.String deobfuscate(java.lang.Object value)
value - value to de-obfuscate
public void setLocalized(java.util.List columns)
columns - list of localized columnspublic boolean isLocalized(java.lang.String column)
column - the name of the column
public boolean hasLocalizedColumns()
public boolean validate(java.util.Map<java.lang.String,java.lang.Object> row)
throws java.sql.SQLException
java.sql.SQLExceptionpublic java.util.Comparator<java.lang.String> getColumnOrderComparator()
public ImportedKey findImportedKey(Entity pkEntity,
java.util.List<java.lang.String> fkCols)
pkEntity - primary key entityfkCols - foreign key columns
public ExportedKey findExportedKey(Entity fkEntity,
java.util.List<java.lang.String> fkCols)
fkEntity - foreign key entityfkCols - foreign key columns
public java.lang.Object filterIncomingValue(java.lang.String column,
java.lang.Object value)
public java.util.Map<java.lang.String,Attribute> getAttributes()
public java.util.Map<java.lang.String,Action> getActions()
public boolean isRootEntity()
public int getColumnType(java.lang.String column)
column - column name
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||