public class OObjectDatabaseTx extends ODatabasePojoAbstract<Object> implements ODatabaseObject, ODatabaseInternal<Object>
ODatabaseDocumentTx
ODatabase.ATTRIBUTES, ODatabase.OPERATION_MODE, ODatabase.OPTIONS, ODatabase.STATUS
Modifier and Type | Field and Description |
---|---|
protected boolean |
automaticSchemaGeneration |
protected ODictionary<Object> |
dictionary |
protected OEntityManager |
entityManager |
protected boolean |
lazyLoading |
protected OMetadataObject |
metadata |
protected boolean |
saveOnlyDirty |
static String |
TYPE |
objects2Records, records2Objects, retainObjects, rid2Records
databaseOwner, underlying
Constructor and Description |
---|
OObjectDatabaseTx(ODatabaseDocumentTx iDatabase)
Constructor to wrap an existing database connect for object connections
|
OObjectDatabaseTx(String iURL) |
Modifier and Type | Method and Description |
---|---|
int |
addBlobCluster(String iClusterName,
Object... iParameters) |
void |
attach(Object iPojo) |
<RET> RET |
attachAndSave(Object iPojo) |
<RET> OObjectIteratorClass<RET> |
browseClass(Class<RET> iClusterClass) |
<RET> OObjectIteratorClass<RET> |
browseClass(Class<RET> iClusterClass,
boolean iPolymorphic) |
<RET> OObjectIteratorClass<RET> |
browseClass(String iClassName) |
<RET> OObjectIteratorClass<RET> |
browseClass(String iClassName,
boolean iPolymorphic) |
<RET> OObjectIteratorCluster<RET> |
browseCluster(String iClusterName) |
<DBTYPE extends ODatabase> |
checkSecurity(ORule.ResourceGeneric iResource,
int iOperation,
Object... iResourcesSpecific) |
<DBTYPE extends ODatabase> |
checkSecurity(ORule.ResourceGeneric iResource,
int iOperation,
Object iResourceSpecific) |
<DBTYPE extends ODatabase> |
checkSecurity(ORule.ResourceGeneric resourceGeneric,
String resourceSpecific,
byte iOperation) |
ODatabase<Object> |
cleanOutRecord(ORID iRID,
int iVersion) |
ODatabasePojoAbstract<Object> |
commit() |
ODatabasePojoAbstract<Object> |
commit(boolean force) |
long |
countClass(Class<?> iClass) |
long |
countClass(String iClassName) |
long |
countClass(String iClassName,
boolean iPolymorphic) |
ODatabaseObject |
delete(Object iPojo) |
ODatabaseObject |
delete(ORID iRID) |
ODatabaseObject |
delete(ORID iRID,
int iVersion) |
protected void |
deleteCascade(ODocument record) |
protected void |
deleteOrphans(OObjectProxyMethodHandler handler) |
void |
deregisterClassMethodFilter(Class<?> iClass) |
<RET> RET |
detach(Object iPojo) |
<RET> RET |
detach(Object iPojo,
boolean returnNonProxiedInstance)
Method that detaches all fields contained in the document to the given object.
|
<RET> RET |
detachAll(Object iPojo,
boolean returnNonProxiedInstance)
Method that detaches all fields contained in the document to the given object and recursively all object tree.
|
protected <RET> RET |
detachAll(Object iPojo,
boolean returnNonProxiedInstance,
Map<Object,Object> alreadyDetached,
Map<Object,Object> lazyObjects) |
Set<Integer> |
getBlobClusterIds() |
ORecordConflictStrategy |
getConflictStrategy() |
ODictionary<Object> |
getDictionary() |
OEntityManager |
getEntityManager() |
ORID |
getIdentity(Object iPojo)
Returns the object unique identity.
|
Iterable<ODatabaseListener> |
getListeners() |
OMetadataObject |
getMetadata() |
ODocument |
getRecordByUserObject(Object iPojo,
boolean iCreateIfNotAvailable) |
String |
getType() |
ODatabaseDocumentInternal |
getUnderlying() |
Object |
getUserObjectByRecord(OIdentifiable iRecord,
String iFetchPlan,
boolean iCreate) |
int |
getVersion(Object iPojo)
Returns the version number of the object.
|
boolean |
hide(ORID rid) |
String |
incrementalBackup(String path) |
protected void |
init() |
boolean |
isAutomaticSchemaGeneration() |
boolean |
isLazyLoading() |
boolean |
isSaveOnlyDirty() |
<RET> RET |
load(Object iPojo) |
<RET> RET |
load(Object iPojo,
String iFetchPlan) |
<RET> RET |
load(Object iPojo,
String iFetchPlan,
boolean iIgnoreCache) |
<RET> RET |
load(Object iPojo,
String iFetchPlan,
boolean iIgnoreCache,
boolean iUpdateCache,
boolean loadTombstone,
OStorage.LOCKING_STRATEGY iLockingStrategy)
Deprecated.
|
<RET> RET |
load(Object iPojo,
String iFetchPlan,
boolean iIgnoreCache,
boolean loadTombstone,
OStorage.LOCKING_STRATEGY iLockingStrategy)
Deprecated.
|
<RET> RET |
load(ORID recordId) |
<RET> RET |
load(ORID iRecordId,
String iFetchPlan) |
<RET> RET |
load(ORID iRecordId,
String iFetchPlan,
boolean iIgnoreCache) |
<RET> RET |
load(ORID iRecordId,
String iFetchPlan,
boolean iIgnoreCache,
boolean iUpdateCache,
boolean loadTombstone,
OStorage.LOCKING_STRATEGY iLockingStrategy)
Deprecated.
|
<RET> RET |
load(ORID iRecordId,
String iFetchPlan,
boolean iIgnoreCache,
boolean loadTombstone,
OStorage.LOCKING_STRATEGY iLockingStrategy)
Deprecated.
|
Object |
newInstance() |
<T> T |
newInstance(Class<T> iType) |
<T> T |
newInstance(Class<T> iType,
Object... iArgs) |
<RET> RET |
newInstance(String iClassName) |
<RET> RET |
newInstance(String iClassName,
Object iEnclosingClass,
Object... iArgs)
Create a new POJO by its class name.
|
<RET> RET |
newInstance(String iClassName,
Object iEnclosingClass,
ODocument iDocument,
Object... iArgs)
Create a new POJO by its class name.
|
<THISDB extends ODatabase> |
open(OToken iToken) |
<THISDB extends ODatabase> |
open(String iUserName,
String iUserPassword) |
ODocument |
pojo2Stream(Object iPojo,
ODocument iRecord) |
void |
registerClassMethodFilter(Class<?> iClass,
OObjectMethodFilter iMethodFilter) |
void |
registerUserObject(Object iObject,
ORecord iRecord)
Register a new POJO
|
void |
registerUserObjectAfterLinkSave(ORecord iRecord) |
<RET> RET |
reload(Object iPojo) |
<RET> RET |
reload(Object iPojo,
boolean iIgnoreCache) |
<RET> RET |
reload(Object iPojo,
String iFetchPlan,
boolean iIgnoreCache) |
<RET> RET |
reload(Object iObject,
String iFetchPlan,
boolean iIgnoreCache,
boolean force) |
void |
resetInitialization() |
ODatabasePojoAbstract<Object> |
rollback() |
ODatabasePojoAbstract<Object> |
rollback(boolean force) |
<RET> RET |
save(Object iContent)
Saves an object to the databasein synchronous mode .
|
<RET> RET |
save(Object iContent,
ODatabase.OPERATION_MODE iMode,
boolean iForceCreate,
ORecordCallback<? extends Number> iRecordCreatedCallback,
ORecordCallback<Integer> iRecordUpdatedCallback)
Saves an object to the database specifying the mode.
|
<RET> RET |
save(Object iPojo,
String iClusterName)
Saves an object in synchronous mode to the database forcing a record cluster where to store it.
|
<RET> RET |
save(Object iPojo,
String iClusterName,
ODatabase.OPERATION_MODE iMode,
boolean iForceCreate,
ORecordCallback<? extends Number> iRecordCreatedCallback,
ORecordCallback<Integer> iRecordUpdatedCallback)
Saves an object to the database forcing a record cluster where to store it.
|
void |
setAutomaticSchemaGeneration(boolean automaticSchemaGeneration) |
OObjectDatabaseTx |
setConflictStrategy(ORecordConflictStrategy iResolver) |
OObjectDatabaseTx |
setConflictStrategy(String iStrategyName) |
void |
setLazyLoading(boolean lazyLoading) |
void |
setSaveOnlyDirty(boolean saveOnlyDirty) |
Object |
stream2pojo(ODocument iRecord,
Object iPojo,
String iFetchPlan) |
Object |
stream2pojo(ODocument iRecord,
Object iPojo,
String iFetchPlan,
boolean iReload) |
void |
unregisterPojo(Object iObject,
ODocument iRecord) |
begin, begin, begin, callbackHooks, clearNewEntriesFromCache, close, command, convertParameter, convertParameters, delete, existsUserObjectByRID, getHooks, getRecordById, getTransaction, getUser, getUserObjectByRecord, isManaged, isMVCC, isRetainObjects, query, registerHook, registerHook, setDirty, setInternal, setMVCC, setRetainObjects, setUser, unregisterHook, unsetDirty
activateOnCurrentThread, addCluster, addCluster, alterCluster, alterCluster, backup, callInLock, checkOpeness, countClusterElements, countClusterElements, countClusterElements, countClusterElements, countClusterElements, create, create, create, declareIntent, drop, dropCluster, dropCluster, equals, exists, existsCluster, freeze, freeze, get, getClusterIdByName, getClusterNameById, getClusterNames, getClusterRecordSizeById, getClusterRecordSizeByName, getClusters, getConfiguration, getDatabaseOwner, getDefaultClusterId, getLocalCache, getName, getProperties, getProperty, getRecordMetadata, getSize, getStatus, getStorage, getURL, isActiveOnCurrentThread, isClosed, isFrozen, registerListener, release, reload, replaceStorage, restore, set, setDatabaseOwner, setProperty, setStatus, toString, truncateCluster, unregisterListener
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isRetainObjects, setDirty, setRetainObjects, unsetDirty
activateOnCurrentThread, addCluster, addCluster, alterCluster, alterCluster, begin, begin, begin, close, command, countClusterElements, countClusterElements, countClusterElements, countClusterElements, countClusterElements, create, create, create, declareIntent, drop, dropCluster, dropCluster, exists, existsCluster, freeze, freeze, get, getClusterIdByName, getClusterNameById, getClusterNames, getClusterRecordSizeById, getClusterRecordSizeByName, getClusters, getConfiguration, getDefaultClusterId, getHooks, getLocalCache, getName, getProperties, getProperty, getRecordMetadata, getSize, getStatus, getTransaction, getURL, getUser, isActiveOnCurrentThread, isClosed, isFrozen, isMVCC, query, registerHook, registerHook, registerListener, release, reload, set, setMVCC, setProperty, setStatus, truncateCluster, unregisterHook, unregisterListener
backup, restore
existsUserObjectByRID, getUserObjectByRecord
callInLock, getDatabaseOwner, getStorage, replaceStorage, setDatabaseOwner, setInternal, setUser
public static final String TYPE
protected ODictionary<Object> dictionary
protected OEntityManager entityManager
protected boolean saveOnlyDirty
protected boolean lazyLoading
protected boolean automaticSchemaGeneration
protected OMetadataObject metadata
public OObjectDatabaseTx(String iURL)
public OObjectDatabaseTx(ODatabaseDocumentTx iDatabase)
iDatabase
- an open database connectionpublic <T> T newInstance(Class<T> iType)
newInstance
in interface ODatabaseObject
public <RET> RET newInstance(String iClassName)
newInstance
in interface ODatabaseSchemaAware<Object>
public <THISDB extends ODatabase> THISDB open(String iUserName, String iUserPassword)
open
in interface ODatabase<Object>
open
in class ODatabaseWrapperAbstract<ODatabaseDocumentTx,Object>
public <THISDB extends ODatabase> THISDB open(OToken iToken)
open
in interface ODatabaseInternal<Object>
open
in class ODatabaseWrapperAbstract<ODatabaseDocumentTx,Object>
public OMetadataObject getMetadata()
getMetadata
in interface ODatabase<Object>
getMetadata
in class ODatabasePojoAbstract<Object>
public Iterable<ODatabaseListener> getListeners()
getListeners
in interface ODatabase<Object>
public <RET> RET newInstance(String iClassName, Object iEnclosingClass, Object... iArgs)
public <RET> RET newInstance(String iClassName, Object iEnclosingClass, ODocument iDocument, Object... iArgs)
public <RET> OObjectIteratorClass<RET> browseClass(Class<RET> iClusterClass)
browseClass
in interface ODatabaseObject
public <RET> OObjectIteratorClass<RET> browseClass(Class<RET> iClusterClass, boolean iPolymorphic)
public <RET> OObjectIteratorClass<RET> browseClass(String iClassName)
public <RET> OObjectIteratorClass<RET> browseClass(String iClassName, boolean iPolymorphic)
public <RET> OObjectIteratorCluster<RET> browseCluster(String iClusterName)
browseCluster
in interface ODatabaseObject
public <RET> RET reload(Object iPojo)
public <RET> RET reload(Object iPojo, boolean iIgnoreCache)
public <RET> RET reload(Object iObject, String iFetchPlan, boolean iIgnoreCache, boolean force)
public void attach(Object iPojo)
attach
in class ODatabasePojoAbstract<Object>
public <RET> RET attachAndSave(Object iPojo)
public <RET> RET detach(Object iPojo)
detach
in class ODatabasePojoAbstract<Object>
public <RET> RET detach(Object iPojo, boolean returnNonProxiedInstance)
RET
- iPojo
- :- the object to detachreturnNonProxiedInstance
- :- defines if the return object will be a proxied instance or not. If set to TRUE and the object does not contains @Id
and @Version fields it could procude data replicationpublic <RET> RET detachAll(Object iPojo, boolean returnNonProxiedInstance)
StackOverflowError
with big objects tree. To avoid it set the stack size with -Xss java optionRET
- iPojo
- :- the object to detachreturnNonProxiedInstance
- :- defines if the return object will be a proxied instance or not. If set to TRUE and the object does not contains @Id
and @Version fields it could procude data replication@Deprecated public <RET> RET load(Object iPojo, String iFetchPlan, boolean iIgnoreCache, boolean loadTombstone, OStorage.LOCKING_STRATEGY iLockingStrategy)
@Deprecated public <RET> RET load(Object iPojo, String iFetchPlan, boolean iIgnoreCache, boolean iUpdateCache, boolean loadTombstone, OStorage.LOCKING_STRATEGY iLockingStrategy)
@Deprecated public <RET> RET load(ORID iRecordId, String iFetchPlan, boolean iIgnoreCache, boolean loadTombstone, OStorage.LOCKING_STRATEGY iLockingStrategy)
@Deprecated public <RET> RET load(ORID iRecordId, String iFetchPlan, boolean iIgnoreCache, boolean iUpdateCache, boolean loadTombstone, OStorage.LOCKING_STRATEGY iLockingStrategy)
public <RET> RET save(Object iContent)
public <RET> RET save(Object iContent, ODatabase.OPERATION_MODE iMode, boolean iForceCreate, ORecordCallback<? extends Number> iRecordCreatedCallback, ORecordCallback<Integer> iRecordUpdatedCallback)
public <RET> RET save(Object iPojo, String iClusterName)
Before to use the specified cluster a check is made to know if is allowed and figures in the configured and the record is valid following the constraints declared in the schema.
save
in interface ODatabase<Object>
ODocument.validate()
public <RET> RET save(Object iPojo, String iClusterName, ODatabase.OPERATION_MODE iMode, boolean iForceCreate, ORecordCallback<? extends Number> iRecordCreatedCallback, ORecordCallback<Integer> iRecordUpdatedCallback)
Before to use the specified cluster a check is made to know if is allowed and figures in the configured and the record is valid following the constraints declared in the schema.
save
in interface ODatabase<Object>
ODocument.validate()
public ODatabaseObject delete(Object iPojo)
public ODatabaseObject delete(ORID iRID)
public ODatabaseObject delete(ORID iRID, int iVersion)
public ODatabase<Object> cleanOutRecord(ORID iRID, int iVersion)
cleanOutRecord
in interface ODatabase<Object>
cleanOutRecord
in class ODatabasePojoAbstract<Object>
public long countClass(String iClassName)
countClass
in interface ODatabaseSchemaAware<Object>
public long countClass(String iClassName, boolean iPolymorphic)
countClass
in interface ODatabaseSchemaAware<Object>
public long countClass(Class<?> iClass)
public ODictionary<Object> getDictionary()
getDictionary
in interface ODatabase<Object>
public ODatabasePojoAbstract<Object> commit()
public ODatabasePojoAbstract<Object> commit(boolean force) throws OTransactionException
commit
in interface ODatabase<Object>
commit
in class ODatabasePojoAbstract<Object>
OTransactionException
public ODatabasePojoAbstract<Object> rollback()
public ODatabasePojoAbstract<Object> rollback(boolean force) throws OTransactionException
rollback
in interface ODatabase<Object>
rollback
in class ODatabasePojoAbstract<Object>
OTransactionException
public OEntityManager getEntityManager()
getEntityManager
in interface ODatabaseObject
public ODatabaseDocumentInternal getUnderlying()
getUnderlying
in interface ODatabaseInternal<Object>
getUnderlying
in class ODatabaseWrapperAbstract<ODatabaseDocumentTx,Object>
public int getVersion(Object iPojo)
getVersion
in class ODatabasePojoAbstract<Object>
iPojo
- User objectpublic ORID getIdentity(Object iPojo)
getIdentity
in class ODatabasePojoAbstract<Object>
iPojo
- User objectpublic boolean isSaveOnlyDirty()
public void setSaveOnlyDirty(boolean saveOnlyDirty)
public boolean isAutomaticSchemaGeneration()
public void setAutomaticSchemaGeneration(boolean automaticSchemaGeneration)
public Object newInstance()
newInstance
in interface ODatabase<Object>
public <DBTYPE extends ODatabase> DBTYPE checkSecurity(ORule.ResourceGeneric resourceGeneric, String resourceSpecific, byte iOperation)
public <DBTYPE extends ODatabase> DBTYPE checkSecurity(ORule.ResourceGeneric iResource, int iOperation, Object iResourceSpecific)
public <DBTYPE extends ODatabase> DBTYPE checkSecurity(ORule.ResourceGeneric iResource, int iOperation, Object... iResourcesSpecific)
public ODocument pojo2Stream(Object iPojo, ODocument iRecord)
pojo2Stream
in interface ODatabaseObject
pojo2Stream
in class ODatabasePojoAbstract<Object>
public Object stream2pojo(ODocument iRecord, Object iPojo, String iFetchPlan)
stream2pojo
in interface ODatabaseObject
stream2pojo
in class ODatabasePojoAbstract<Object>
public Object stream2pojo(ODocument iRecord, Object iPojo, String iFetchPlan, boolean iReload)
public boolean isLazyLoading()
isLazyLoading
in interface ODatabaseObject
public void setLazyLoading(boolean lazyLoading)
setLazyLoading
in interface ODatabaseObject
public ORecordConflictStrategy getConflictStrategy()
getConflictStrategy
in interface ODatabase<Object>
public OObjectDatabaseTx setConflictStrategy(ORecordConflictStrategy iResolver)
setConflictStrategy
in interface ODatabase<Object>
public OObjectDatabaseTx setConflictStrategy(String iStrategyName)
setConflictStrategy
in interface ODatabase<Object>
public ODocument getRecordByUserObject(Object iPojo, boolean iCreateIfNotAvailable)
getRecordByUserObject
in interface OUserObject2RecordHandler
getRecordByUserObject
in class ODatabasePojoAbstract<Object>
public Object getUserObjectByRecord(OIdentifiable iRecord, String iFetchPlan, boolean iCreate)
getUserObjectByRecord
in class ODatabasePojoAbstract<Object>
public void registerUserObject(Object iObject, ORecord iRecord)
ODatabasePojoAbstract
registerUserObject
in interface OUserObject2RecordHandler
registerUserObject
in class ODatabasePojoAbstract<Object>
public void registerUserObjectAfterLinkSave(ORecord iRecord)
registerUserObjectAfterLinkSave
in interface OUserObject2RecordHandler
public void unregisterPojo(Object iObject, ODocument iRecord)
unregisterPojo
in class ODatabasePojoAbstract<Object>
public void registerClassMethodFilter(Class<?> iClass, OObjectMethodFilter iMethodFilter)
public void deregisterClassMethodFilter(Class<?> iClass)
public String incrementalBackup(String path)
incrementalBackup
in interface ODatabase<Object>
public void resetInitialization()
resetInitialization
in interface ODatabaseInternal<Object>
protected <RET> RET detachAll(Object iPojo, boolean returnNonProxiedInstance, Map<Object,Object> alreadyDetached, Map<Object,Object> lazyObjects)
protected void deleteCascade(ODocument record)
protected void init()
protected void deleteOrphans(OObjectProxyMethodHandler handler)
public int addBlobCluster(String iClusterName, Object... iParameters)
addBlobCluster
in interface ODatabase<Object>
public Set<Integer> getBlobClusterIds()
getBlobClusterIds
in interface ODatabase<Object>
Copyright © 2009–2018 Orient Technologies. All rights reserved.