public class DelegatingPersistenceBroker extends java.lang.Object implements PersistenceBrokerInternal, PBState
| Constructor and Description |
|---|
DelegatingPersistenceBroker(PersistenceBrokerInternal broker) |
| Modifier and Type | Method and Description |
|---|---|
void |
abortTransaction()
Aborts and closes the current transaction.
|
void |
addListener(PBListener listener)
Adds a temporary
PBListener to this broker. |
void |
addListener(PBListener listener,
boolean permanent)
Adds a temporary or permanent
PBListener to this broker,
depending on the parameter value. |
void |
addMtoNImplementor(MtoNImplementor m2nImpl)
Stores the given m:n implementor int the underlying persistence system.
|
void |
beginTransaction()
Begins a transaction against the underlying RDBMS.
|
void |
checkRefreshRelationships(java.lang.Object obj,
Identity oid,
ClassDescriptor cld)
Refreshes the references of the given object whose
refresh
is set to true. |
void |
clearCache()
Clears the broker's internal cache.
|
boolean |
close()
Closes this broker so that no further requests may be made on it.
|
void |
commitTransaction()
Commits and closes the current transaction.
|
void |
configure(org.apache.ojb.broker.util.configuration.Configuration pConfig)
configure an object using the Configuration pConfig
|
java.lang.Object |
createProxy(java.lang.Class proxyClass,
Identity realSubjectsIdentity)
Shortcut method for creating a proxy of the given type.
|
void |
delete(java.lang.Object obj)
Deletes the given object's persistent representation in the underlying persistence system.
|
void |
delete(java.lang.Object obj,
boolean ignoreReferences)
Deletes the persistence representation of the given object in the underlying
persistence system.
|
void |
deleteByQuery(Query query)
Deletes all objects matching the given query, from the underlying persistence system.
|
void |
deleteMtoNImplementor(MtoNImplementor m2nImpl)
Deletes an m:n implementor which defines the relationship between two persistent objects.
|
void |
fireBrokerEvent(PBLifeCycleEvent event)
Fires a life cycle event to inform all registered
PBListener instances. |
void |
fireBrokerEvent(PBStateEvent event)
Fires a state event to inform all registered
PBListener instances. |
void |
fireBrokerEvent(PersistenceBrokerEvent event)
Fires a broker event to inform all registered
PBListener instances. |
ClassDescriptor |
getClassDescriptor(java.lang.Class clazz)
Returns the class descriptor for the given persistence capable class.
|
ManageableCollection |
getCollectionByQuery(java.lang.Class collectionClass,
Query query)
Retrieves the persistent objects matching the given query.
|
java.util.Collection |
getCollectionByQuery(Query query)
Retrieves the persistent objects matching the given query.
|
int |
getCount(Query query)
Returns the number of elements that the given query will return.
|
PersistenceBrokerInternal |
getDelegate()
Returns only the wrapped
PersistenceBroker instance |
DescriptorRepository |
getDescriptorRepository()
Returns the metadata descriptor repository associated with this broker.
|
PersistenceBroker |
getInnermostDelegate()
If my underlying
PersistenceBroker
is not a DelegatingPersistenceBroker, returns it,
otherwise recursively invokes this method on my delegate. |
java.util.Iterator |
getIteratorByQuery(Query query)
Retrieves the persistent objects matching the given query and returns them as an iterator
which may, depending on the configured collection type, be reloading the objects from
the database upon calling
Iterator.next(). |
java.lang.Object |
getObjectByIdentity(Identity id)
Retrieve a persistent object from the underlying datastore by its identity.
|
java.lang.Object |
getObjectByQuery(Query query)
Retrieve the (first) persistent object from the underlying datastore that matches the given
query.
|
PBKey |
getPBKey()
Get the
PBKey for this broker. |
java.util.Enumeration |
getPKEnumerationByQuery(java.lang.Class primaryKeyClass,
Query query)
Returns an enumeration of objects representing the primary keys for the objects that match
the given query.
|
ProxyFactory |
getProxyFactory()
Return the factory for creating proxies.
|
QueryReferenceBroker |
getReferenceBroker()
Returns the broker specifically for retrieving references via query.
|
RelationshipPrefetcherFactory |
getRelationshipPrefetcherFactory()
Return the factory for creating relationship prefetcher objects.
|
java.util.Iterator |
getReportQueryIteratorByQuery(Query query)
Retrieves the rows (as
Object[] instances) matching the given query and
returns them as an iterator which may, depending on the configured collection type, be reloading
the objects from the database upon calling Iterator.next(). |
java.lang.Class |
getTopLevelClass(java.lang.Class clazz)
Returns the top level class (most abstract class in terms of extents) from which the
given class extends.
|
boolean |
hasClassDescriptor(java.lang.Class clazz)
Determines whether the given class is persistence capable and thus has an associated
class descriptor in the metadata.
|
boolean |
isClosed()
Determines whether this broker is closed.
|
boolean |
isInTransaction()
Determines whether there is currently a transaction in progress.
|
boolean |
isManaged()
Determines whether this instance is handled by a managed
environment, i.e.
|
Query |
query()
factory method to create a new
Query object. |
void |
removeAllListeners()
Removes all temporary listeners from this broker.
|
void |
removeAllListeners(boolean permanent)
Removes all temporary and, if desired, permanent listeners from this broker.
|
void |
removeFromCache(java.lang.Object obj)
Removes the given object or, if it is an instance of
Identity,
the object identified by it, from the broker's internal cache. |
void |
removeListener(PBListener listener)
Removes the specified listener from this broker.
|
void |
retrieveAllReferences(java.lang.Object pInstance)
Retrieve all references and collections of the given object irrespective of the
metadata settings defined for them.
|
void |
retrieveReference(java.lang.Object pInstance,
java.lang.String pAttributeName)
Retrieve the specified reference or collection attribute for the given persistent object.
|
BrokerHelper |
serviceBrokerHelper()
Returns the
BrokerHelper instance associated with this broker, which
makes some additional helper methods available. |
ConnectionManagerIF |
serviceConnectionManager()
Returns the
ConnectionManagerIF instance associated with this broker. |
IdentityFactory |
serviceIdentity()
Return the
IdentityFactory instance associated with this broker. |
JdbcAccess |
serviceJdbcAccess()
Returns the
JdbcAccess instance associated with this broker. |
ObjectCache |
serviceObjectCache()
Returns the
ObjectCache instance associated
with this broker. |
SequenceManager |
serviceSequenceManager()
Returns the
SequenceManager instance associated with this broker. |
org.apache.ojb.broker.accesslayer.sql.SqlGenerator |
serviceSqlGenerator()
Returns the
SqlGenerator instance associated with this broker. |
StatementManagerIF |
serviceStatementManager()
Returns the
StatementManagerIF instance associated with this broker. |
void |
setClosed(boolean closed)
Is called when the persistence broker is activated or passivated (or closed).
|
void |
setDelegate(PersistenceBrokerInternal broker) |
void |
setManaged(boolean managed)
Specifies whether this instance is handled by a managed
environment, i.e.
|
void |
store(java.lang.Object obj)
Make the given object persistent in the underlying persistence system.
|
void |
store(java.lang.Object obj,
Identity oid,
ClassDescriptor cld,
boolean insert,
boolean ignoreReferences)
Performs the real store work (insert or update) and is intended for use by
top-level apis internally.
|
void |
store(java.lang.Object obj,
ObjectModification modification)
Makes the given object persistent in the underlying persistence system.
|
public DelegatingPersistenceBroker(PersistenceBrokerInternal broker)
public PersistenceBrokerInternal getDelegate()
PersistenceBroker instancepublic void setDelegate(PersistenceBrokerInternal broker)
public PersistenceBroker getInnermostDelegate()
PersistenceBroker
is not a DelegatingPersistenceBroker, returns it,
otherwise recursively invokes this method on my delegate.
Hence this method will return the first
delegate that is not a DelegatingPersistenceBroker,
or null when no non-DelegatingPersistenceBroker
delegate can be found by transversing this chain.
This method is useful when you may have nested
DelegatingPersistenceBrokers, and you want to make
sure to obtain a "genuine" PersistenceBroker
implementaion instance.
public boolean isManaged()
PersistenceBrokerInternalisManaged in interface PersistenceBrokerInternaltrue if this broker is managedpublic void setManaged(boolean managed)
PersistenceBrokerInternalPersistenceBroker.close() this will automatically be reset
to false.setManaged in interface PersistenceBrokerInternalmanaged - true if this broker is managedpublic QueryReferenceBroker getReferenceBroker()
PersistenceBrokerInternalgetReferenceBroker in interface PersistenceBrokerInternalpublic void checkRefreshRelationships(java.lang.Object obj,
Identity oid,
ClassDescriptor cld)
PersistenceBrokerInternalrefresh
is set to true.checkRefreshRelationships in interface PersistenceBrokerInternalobj - The object to checkoid - The identity of the objectcld - The class descriptor for the objectpublic RelationshipPrefetcherFactory getRelationshipPrefetcherFactory()
PersistenceBrokerInternalgetRelationshipPrefetcherFactory in interface PersistenceBrokerInternalpublic void store(java.lang.Object obj,
Identity oid,
ClassDescriptor cld,
boolean insert,
boolean ignoreReferences)
PersistenceBrokerInternalstore in interface PersistenceBrokerInternalobj - The object to storeoid - The identity of the object to storecld - The class descriptor of the objectinsert - If true an insert operation will be performed, else update
operationignoreReferences - Whether automatic storing of contained references/collections (except
super-references) shall be suppressed (independent of the auto-update
setting in the metadata)public void delete(java.lang.Object obj,
boolean ignoreReferences)
throws PersistenceBrokerException
PersistenceBrokerInternaldelete in interface PersistenceBrokerInternalobj - The object to deleteignoreReferences - Whether automatic deletion of contained references/collections (except
super-references) shall be suppressed (independent of the auto-delete
setting in the metadata)PersistenceBrokerExceptionpublic boolean isInTransaction()
throws PersistenceBrokerException
PersistenceBrokerisInTransaction in interface PersistenceBrokertrue if there is a transaction in progressPersistenceBrokerExceptionpublic boolean isClosed()
PersistenceBrokerisClosed in interface PersistenceBrokerpublic void setClosed(boolean closed)
PBStatepublic void beginTransaction()
throws TransactionInProgressException,
TransactionAbortedException
PersistenceBrokerbeginTransaction in interface PersistenceBrokerTransactionInProgressException - If there is already a transaction in progressTransactionAbortedExceptionpublic void commitTransaction()
throws TransactionNotInProgressException,
TransactionAbortedException
PersistenceBrokercommitTransaction in interface PersistenceBrokerTransactionNotInProgressException - If there is no transaction currently in progressTransactionAbortedException - If the transaction cannot be committedpublic void abortTransaction()
throws TransactionNotInProgressException
PersistenceBrokerabortTransaction in interface PersistenceBrokerTransactionNotInProgressException - If no transaction is currently in progresspublic boolean close()
PersistenceBrokerclose in interface PersistenceBrokertrue if the broker was successfully closedpublic org.apache.ojb.broker.accesslayer.sql.SqlGenerator serviceSqlGenerator()
PersistenceBrokerSqlGenerator instance associated with this broker.serviceSqlGenerator in interface PersistenceBrokerpublic JdbcAccess serviceJdbcAccess()
PersistenceBrokerJdbcAccess instance associated with this broker.serviceJdbcAccess in interface PersistenceBrokerpublic void delete(java.lang.Object obj)
throws PersistenceBrokerException
PersistenceBrokerdelete in interface PersistenceBrokerobj - The object to deletePersistenceBrokerExceptionpublic void store(java.lang.Object obj)
throws PersistenceBrokerException
PersistenceBrokerstore in interface PersistenceBrokerobj - The object to storePersistenceBrokerExceptionpublic void store(java.lang.Object obj,
ObjectModification modification)
throws PersistenceBrokerException
PersistenceBrokerstore in interface PersistenceBrokerobj - The object to storemodification - Specifies what operation to perform (for generating optimized SQL)PersistenceBrokerExceptionpublic PBKey getPBKey()
PersistenceBrokerPBKey for this broker.getPBKey in interface PersistenceBrokerpublic void removeFromCache(java.lang.Object obj)
throws PersistenceBrokerException
PersistenceBrokerIdentity,
the object identified by it, from the broker's internal cache. Note that the removal is
not recursive. This means, objects referenced by the removed object will not be
automatically removed from the cache by this operation.removeFromCache in interface PersistenceBrokerobj - The object to be removed from the cache or its identityPersistenceBrokerExceptionpublic void clearCache()
throws PersistenceBrokerException
PersistenceBrokerclearCache in interface PersistenceBrokerPersistenceBrokerExceptionpublic DescriptorRepository getDescriptorRepository()
PersistenceBrokergetDescriptorRepository in interface PersistenceBrokerpublic void removeAllListeners()
throws PersistenceBrokerException
PersistenceBrokerremoveAllListeners in interface PersistenceBrokerPersistenceBrokerExceptionPersistenceBroker.removeListener(PBListener)public void removeAllListeners(boolean permanent)
throws PersistenceBrokerException
PersistenceBrokerremoveAllListeners in interface PersistenceBrokerpermanent - Whether the listener will stay registered after closing
the brokerPersistenceBrokerExceptionPersistenceBroker.removeListener(PBListener)public void retrieveReference(java.lang.Object pInstance,
java.lang.String pAttributeName)
throws PersistenceBrokerException
PersistenceBrokerretrieveReference in interface PersistenceBrokerpInstance - The persistent objectpAttributeName - The name of the attribute to retrievePersistenceBrokerExceptionpublic void retrieveAllReferences(java.lang.Object pInstance)
throws PersistenceBrokerException
PersistenceBrokerretrieveAllReferences in interface PersistenceBrokerpInstance - The persistent objectPersistenceBrokerExceptionpublic ConnectionManagerIF serviceConnectionManager()
PersistenceBrokerConnectionManagerIF instance associated with this broker.serviceConnectionManager in interface PersistenceBrokerpublic StatementManagerIF serviceStatementManager()
PersistenceBrokerStatementManagerIF instance associated with this broker.serviceStatementManager in interface PersistenceBrokerpublic SequenceManager serviceSequenceManager()
PersistenceBrokerSequenceManager instance associated with this broker.serviceSequenceManager in interface PersistenceBrokerpublic BrokerHelper serviceBrokerHelper()
PersistenceBrokerBrokerHelper instance associated with this broker, which
makes some additional helper methods available.serviceBrokerHelper in interface PersistenceBrokerpublic ObjectCache serviceObjectCache()
PersistenceBrokerObjectCache instance associated
with this broker.serviceObjectCache in interface PersistenceBrokerpublic IdentityFactory serviceIdentity()
PersistenceBrokerIdentityFactory instance associated with this broker.serviceIdentity in interface PersistenceBrokerpublic void fireBrokerEvent(PersistenceBrokerEvent event)
PersistenceBrokerPBListener instances.fireBrokerEvent in interface PersistenceBrokerevent - The event to firepublic void fireBrokerEvent(PBLifeCycleEvent event)
PersistenceBrokerPBListener instances.fireBrokerEvent in interface PersistenceBrokerevent - The event to firepublic void fireBrokerEvent(PBStateEvent event)
PersistenceBrokerPBListener instances.fireBrokerEvent in interface PersistenceBrokerevent - The event to firepublic void addListener(PBListener listener) throws PersistenceBrokerException
PersistenceBrokerPBListener to this broker.
Note that temporary listeners will be removed upon closing a broker (returning
it to the pool).addListener in interface PersistenceBrokerlistener - The listener to addPersistenceBrokerExceptionPersistenceBroker.addListener(PBListener, boolean)public void addListener(PBListener listener, boolean permanent) throws PersistenceBrokerException
PersistenceBrokerPBListener to this broker,
depending on the parameter value. Note that temporary listeners will be removed upon
closing a broker (returning it to the pool).
PersistenceBrokerFactoryIF or extend the default
one, PersistenceBrokerFactoryDefaultImpl. There you
can add the listener at creation of the PersistenceBroker
instances.addListener in interface PersistenceBrokerlistener - The listener to addpermanent - Whether the listener will stay registered after closing
the brokerPersistenceBrokerExceptionpublic void removeListener(PBListener listener) throws PersistenceBrokerException
PersistenceBrokerremoveListener in interface PersistenceBrokerlistener - The listener to removePersistenceBrokerExceptionpublic java.lang.Class getTopLevelClass(java.lang.Class clazz)
throws PersistenceBrokerException
PersistenceBrokergetTopLevelClass in interface PersistenceBrokerclazz - The class to get the top level class forPersistenceBrokerException - If the class is not persistence capable,
if no metadata was defined for this classpublic boolean hasClassDescriptor(java.lang.Class clazz)
PersistenceBrokerhasClassDescriptor in interface PersistenceBrokerclazz - The target classtrue if a class descriptor was foundpublic ClassDescriptor getClassDescriptor(java.lang.Class clazz) throws PersistenceBrokerException
PersistenceBrokergetClassDescriptor in interface PersistenceBrokerclazz - The target classPersistenceBrokerException - If the class is not persistence capable, i.e.
if no metadata was defined for this class and hence its class descriptor
was not foundpublic java.util.Enumeration getPKEnumerationByQuery(java.lang.Class primaryKeyClass,
Query query)
throws PersistenceBrokerException
PersistenceBrokergetPKEnumerationByQuery in interface PersistenceBrokerprimaryKeyClass - The class to use for the primary keysquery - The queryPersistenceBrokerExceptionpublic java.lang.Object getObjectByQuery(Query query) throws PersistenceBrokerException
PersistenceBrokergetObjectByQuery in interface PersistenceBrokerquery - The queryPersistenceBrokerExceptionpublic java.lang.Object getObjectByIdentity(Identity id) throws PersistenceBrokerException
PersistenceBrokerPersistenceBroker.getObjectByQuery(Query) instead, as this method is mainly
intended to be used for internal handling of materialization by OID (e.g. in Proxies).getObjectByIdentity in interface PersistenceBrokerid - The persistent object's idPersistenceBrokerExceptionpublic java.util.Iterator getReportQueryIteratorByQuery(Query query) throws PersistenceBrokerException
PersistenceBrokerObject[] instances) matching the given query and
returns them as an iterator which may, depending on the configured collection type, be reloading
the objects from the database upon calling Iterator.next().getReportQueryIteratorByQuery in interface PersistenceBrokerquery - The report queryPersistenceBrokerExceptionpublic java.util.Iterator getIteratorByQuery(Query query) throws PersistenceBrokerException
PersistenceBrokerIterator.next(). Note that if the Query has no criteria
ALL persistent objects of the class targeted by the query will be returned.getIteratorByQuery in interface PersistenceBrokerquery - The queryPersistenceBrokerExceptionpublic ManageableCollection getCollectionByQuery(java.lang.Class collectionClass, Query query) throws PersistenceBrokerException
PersistenceBrokergetCollectionByQuery in interface PersistenceBrokercollectionClass - The collection type which needs to implement
ManageableCollectionquery - The queryPersistenceBrokerExceptionpublic int getCount(Query query) throws PersistenceBrokerException
PersistenceBrokergetCount in interface PersistenceBrokerquery - The queryPersistenceBrokerExceptionpublic java.util.Collection getCollectionByQuery(Query query) throws PersistenceBrokerException
PersistenceBrokergetCollectionByQuery in interface PersistenceBrokerquery - The queryPersistenceBrokerExceptionpublic void configure(org.apache.ojb.broker.util.configuration.Configuration pConfig)
throws org.apache.ojb.broker.util.configuration.ConfigurationException
org.apache.ojb.broker.util.configuration.Configurableconfigure in interface org.apache.ojb.broker.util.configuration.ConfigurablepConfig - the Configuration object used to configure current instanceorg.apache.ojb.broker.util.configuration.ConfigurationExceptionpublic Query query()
ObjectContainerQuery object.query in interface ObjectContainerpublic void deleteByQuery(Query query) throws PersistenceBrokerException
PersistenceBrokerdeleteByQuery in interface PersistenceBrokerquery - The query determining the objects to deletePersistenceBrokerExceptionpublic void deleteMtoNImplementor(MtoNImplementor m2nImpl) throws PersistenceBrokerException
PersistenceBrokerdeleteMtoNImplementor in interface PersistenceBrokerm2nImpl - The m:n implementor to deletePersistenceBrokerExceptionPersistenceBroker.deleteMtoNImplementor(org.apache.ojb.broker.MtoNImplementor)public void addMtoNImplementor(MtoNImplementor m2nImpl) throws PersistenceBrokerException
PersistenceBrokeraddMtoNImplementor in interface PersistenceBrokerm2nImpl - The m:n implementor to deletePersistenceBrokerExceptionPersistenceBroker.addMtoNImplementor(org.apache.ojb.broker.MtoNImplementor)public ProxyFactory getProxyFactory()
PersistenceBrokerInternalgetProxyFactory in interface PersistenceBrokerInternalpublic java.lang.Object createProxy(java.lang.Class proxyClass,
Identity realSubjectsIdentity)
PersistenceBrokerInternalcreateProxy in interface PersistenceBrokerInternalproxyClass - The proxy typerealSubjectsIdentity - The identity of the real subject(C) 2002 - 2005 Apache Software Foundation
All rights reserved. Published under the Apache License 2.0.
http://db.apache.org/ojb
Version: 1.0.4, 2005-12-30