|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.persvr.datasource.BaseDataSource
org.persvr.datasource.DatabaseDataSource
org.persvr.datasource.DynaObjectDBSource
public class DynaObjectDBSource
This is the dynamic object database source. This is the default primary data source used by Persevere.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.persvr.datasource.DatabaseDataSource |
|---|
DatabaseDataSource.DatabaseAction, DatabaseDataSource.QueryIterator, DatabaseDataSource.ThreadSpecificConnectionObject |
| Field Summary |
|---|
| Fields inherited from class org.persvr.datasource.DatabaseDataSource |
|---|
connectionString |
| Fields inherited from class org.persvr.datasource.BaseDataSource |
|---|
BINARY_HEADER, BOOLEAN_FALSE, BOOLEAN_TRUE, DATE_HEADER, DECIMAL_HEADER, DOUBLE_HEADER, FUNCTION_HEADER, INTEGER_HEADER, LINK_HEADER, LONG_HEADER, OBJECT_HEADER, REQUIRED_PREFIX, STRING_HEADER, UNDEFINED |
| Constructor Summary | |
|---|---|
DynaObjectDBSource()
|
|
| Method Summary | |
|---|---|
protected java.lang.String |
comparison(Node expression,
Node valueNode,
int conditionType)
|
protected org.persvr.datasource.DynaObjectDBSource.ConnectionStatements |
getConnectionObject()
This will return a thread specific connection object. |
java.lang.Object |
getFieldValue(LazyPropertyId valueId)
This is called when a field value contains an unfulfilled value (ValueId) |
long |
getNextId()
|
java.util.List<ObjectId> |
getOrphans()
|
java.util.List<ObjectId> |
getReferrers(java.lang.String id)
|
DynaObjectDBSource |
getSuperSource()
|
protected java.lang.Object |
getValueFromRs(java.sql.ResultSet rs)
This gets the value/object for the current result set row |
void |
initParameters(java.util.Map parameters)
This is called on initialization and provides access to the data source configuration parameters |
void |
mapObject(PersistableInitializer initializer,
java.lang.String objectId)
This is called when an object is being activated to retrieve the persisted data for a given object |
java.util.Iterator |
mapQuery(Query query)
This is called when an object is being activated to retrieve the persisted data for a given object with a filter |
protected java.lang.String |
nameInQuery(java.lang.String name)
|
java.util.Map<java.lang.String,java.lang.Object> |
newSource()
|
protected java.lang.String |
numberComparisonInQuery(double value,
java.lang.String operator)
|
void |
onDelete()
When a source is deleted this is called |
void |
purgeOrphans()
|
void |
recordDelete(java.lang.String objectId)
This is called when an object should be deleted |
void |
recordList(java.lang.String id,
java.util.List<? extends java.lang.Object> values)
|
void |
recordListAdd(java.lang.String objectId,
int index,
java.lang.Object value)
|
NewObjectPersister |
recordNewObject(Persistable object)
This is called when a new object is persisted |
void |
recordPropertyAddition(java.lang.String id,
java.lang.String key,
java.lang.Object value,
int attributes)
This is called when a new property is added to an object |
void |
recordPropertyChange(java.lang.String id,
java.lang.String key,
java.lang.Object value,
int attributes)
This is called when a property value is changed |
void |
recordPropertyRemoval(java.lang.String id,
java.lang.String name)
This is called when a property value is removed |
protected java.lang.String |
stringComparisonInQuery(java.lang.String str)
|
protected java.lang.String |
stringComparisonInQuery(java.lang.String str,
int type)
|
java.util.List |
testQuery(java.lang.String sql)
|
void |
truncate(java.lang.String objectId,
long newLength)
|
| Methods inherited from class org.persvr.datasource.DatabaseDataSource |
|---|
abortTransaction, addConditionToQuery, commitTransaction, createConnection, executeAndGetGeneratedKey, runStarterStatements, startTransaction, testLocks, tryExecution |
| Methods inherited from class org.persvr.datasource.BaseDataSource |
|---|
convertObjectToString, convertStringToObject, getId, hiddenId, idForString, initializeFromMap, setId |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.persvr.datasource.WritableDataSource |
|---|
abortTransaction, commitTransaction, startTransaction |
| Methods inherited from interface org.persvr.datasource.DataSource |
|---|
getId, hiddenId, setId |
| Constructor Detail |
|---|
public DynaObjectDBSource()
| Method Detail |
|---|
public NewObjectPersister recordNewObject(Persistable object)
throws java.lang.Exception
WritableDataSource
recordNewObject in interface WritableDataSourcejava.lang.Exception
public java.util.Iterator mapQuery(Query query)
throws java.lang.Exception
DataSource
mapQuery in interface DataSourcejava.lang.Exception
protected java.lang.String comparison(Node expression,
Node valueNode,
int conditionType)
comparison in class DatabaseDataSourceprotected java.lang.String nameInQuery(java.lang.String name)
nameInQuery in class DatabaseDataSource
protected java.lang.String numberComparisonInQuery(double value,
java.lang.String operator)
numberComparisonInQuery in class DatabaseDataSource
protected java.lang.String stringComparisonInQuery(java.lang.String str,
int type)
protected java.lang.String stringComparisonInQuery(java.lang.String str)
stringComparisonInQuery in class DatabaseDataSource
public void initParameters(java.util.Map parameters)
throws java.lang.Exception
DataSource
initParameters in interface DataSourceinitParameters in class DatabaseDataSourcejava.lang.Exceptionpublic java.util.List<ObjectId> getOrphans()
getOrphans in interface DataSourceCanHaveOrphanspublic void purgeOrphans()
purgeOrphans in interface DataSourceCanHaveOrphansprotected org.persvr.datasource.DynaObjectDBSource.ConnectionStatements getConnectionObject()
DatabaseDataSource
getConnectionObject in class DatabaseDataSourcepublic long getNextId()
protected java.lang.Object getValueFromRs(java.sql.ResultSet rs)
throws java.sql.SQLException
DatabaseDataSource
getValueFromRs in class DatabaseDataSourcejava.sql.SQLException
public void mapObject(PersistableInitializer initializer,
java.lang.String objectId)
throws java.lang.Exception
DataSource
mapObject in interface DataSourcejava.lang.Exception
public java.lang.Object getFieldValue(LazyPropertyId valueId)
throws java.sql.SQLException
DataSource
getFieldValue in interface DataSourcejava.sql.SQLExceptionpublic java.util.List<ObjectId> getReferrers(java.lang.String id)
getReferrers in interface ReferenceAwareDataSource
public void recordPropertyAddition(java.lang.String id,
java.lang.String key,
java.lang.Object value,
int attributes)
throws java.sql.SQLException
WritableDataSource
recordPropertyAddition in interface WritableDataSourcevalue - - The value should generally be an object one of the following classes: String, Boolean, Integer, Double, Date, ObjectId, or a null
If the value is an ObjectId than it indicates that it is a reference to another object.
The data source can check isPersisted to see if the object has been persisted yet. If it is true than it means
it means it has already been persisted. If it is false, the object has not been persisted yet. If the data
source can handle a new object at this point, it should call ObjectId.persist to persist the objectattributes - TODO
java.sql.SQLException
public void recordPropertyChange(java.lang.String id,
java.lang.String key,
java.lang.Object value,
int attributes)
throws java.sql.SQLException
WritableDataSource
recordPropertyChange in interface WritableDataSourceattributes - TODO
java.sql.SQLException
public void recordPropertyRemoval(java.lang.String id,
java.lang.String name)
throws java.sql.SQLException
WritableDataSource
recordPropertyRemoval in interface WritableDataSourcejava.sql.SQLException
public void recordListAdd(java.lang.String objectId,
int index,
java.lang.Object value)
throws java.sql.SQLException
java.sql.SQLException
public java.util.List testQuery(java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLException
public void recordList(java.lang.String id,
java.util.List<? extends java.lang.Object> values)
throws java.sql.SQLException
recordList in interface ListDataSourcejava.sql.SQLException
public void recordDelete(java.lang.String objectId)
throws java.lang.Exception
WritableDataSource
recordDelete in interface WritableDataSourcejava.lang.Exception
public void truncate(java.lang.String objectId,
long newLength)
throws java.lang.Exception
java.lang.Exception
public java.util.Map<java.lang.String,java.lang.Object> newSource()
throws java.lang.Exception
java.lang.Exception
public void onDelete()
throws java.lang.Exception
SourceDeleteAware
onDelete in interface SourceDeleteAwarejava.lang.Exceptionpublic DynaObjectDBSource getSuperSource()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||