public interface StoreManager extends Closeable
| Modifier and Type | Field and Description | 
|---|---|
| static int | FORCE_LOAD_ALL | 
| static int | FORCE_LOAD_DFG | 
| static int | FORCE_LOAD_NONE | 
| static int | FORCE_LOAD_REFRESH | 
| static int | VERSION_DIFFERENT | 
| static int | VERSION_EARLIER | 
| static int | VERSION_LATER | 
| static int | VERSION_SAME | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | assignField(OpenJPAStateManager sm,
           int field,
           boolean preFlush)Assign a value to the given field. | 
| boolean | assignObjectId(OpenJPAStateManager sm,
              boolean preFlush)Assign an object id to the given new instance. | 
| void | beforeStateChange(OpenJPAStateManager sm,
                 PCState fromState,
                 PCState toState)Notification that the given state manager is about to change its
 lifecycle state. | 
| void | begin()Begin a data store transaction. | 
| void | beginOptimistic()Notification that an optimistic transaction has started. | 
| boolean | cancelAll()Cancel all pending data store statements. | 
| void | close()Free any resources this store manager is using. | 
| void | commit()Commit the current data store transaction. | 
| int | compareVersion(OpenJPAStateManager state,
              Object v1,
              Object v2)Compare the two version objects. | 
| Object | copyDataStoreId(Object oid,
               ClassMetaData meta)Copy the given object id value. | 
| ResultObjectProvider | executeExtent(ClassMetaData meta,
             boolean subclasses,
             FetchConfiguration fetch)Return a provider for all instances of the given candidate class,
 optionally including subclasses. | 
| boolean | exists(OpenJPAStateManager sm,
      Object edata)Verify that the given instance exists in the data store; return false
 if it does not. | 
| Collection<Exception> | flush(Collection<OpenJPAStateManager> sms)Flush the given state manager collection to the datastore, returning
 a collection of exceptions encountered during flushing. | 
| Object | getClientConnection()Return a connection to the data store suitable for client use. | 
| Seq | getDataStoreIdSequence(ClassMetaData forClass)Return a sequence that generates datastore identity values for the
 given class. | 
| Class<?> | getDataStoreIdType(ClassMetaData meta)Return the class used by this StoreManager for datastore identity
 values. | 
| Class<?> | getManagedType(Object oid)Return the persistent class for the given data store identity value. | 
| Seq | getValueSequence(FieldMetaData forField)Return a sequence that generates values for the given field. | 
| boolean | initialize(OpenJPAStateManager sm,
          PCState state,
          FetchConfiguration fetch,
          Object edata)Initialize the given state manager. | 
| boolean | isCached(List<Object> oids,
        BitSet edata)Verify that the given instance exists in the data store in memory; return false
 if it does not. | 
| boolean | load(OpenJPAStateManager sm,
    BitSet fields,
    FetchConfiguration fetch,
    int lockLevel,
    Object edata)Load the given state manager. | 
| Collection<Object> | loadAll(Collection<OpenJPAStateManager> sms,
       PCState state,
       int load,
       FetchConfiguration fetch,
       Object edata)Initialize, load, or validate the existance of all of the given
 objects. | 
| Object | newDataStoreId(Object oidVal,
              ClassMetaData meta)Create a new unique datastore identity for the given type from
 the given oid value (presumably pk, stringified oid, or oid instance). | 
| FetchConfiguration | newFetchConfiguration()Return a fetch configuration suitable for this runtime. | 
| StoreQuery | newQuery(String language)Return a query implementation suitable for this store. | 
| void | releaseConnection()Instruct the store to release a retained connection. | 
| void | retainConnection()Instruct the store to retain a connection for continued use. | 
| void | rollback()Rollback the current data store transaction. | 
| void | rollbackOptimistic()Notification that an optimistic transaction was rolled back before
 a data store transaction ever began. | 
| void | setContext(StoreContext ctx)Set a reference to the corresponding context. | 
| boolean | syncVersion(OpenJPAStateManager sm,
           Object edata)Update the version information in the given state manager to the
 version stored in the data store. | 
static final int VERSION_LATER
static final int VERSION_EARLIER
static final int VERSION_SAME
static final int VERSION_DIFFERENT
static final int FORCE_LOAD_NONE
static final int FORCE_LOAD_DFG
static final int FORCE_LOAD_REFRESH
static final int FORCE_LOAD_ALL
void setContext(StoreContext ctx)
void beginOptimistic()
begin() method, which will still be called
 when a true data store transaction should begin.void rollbackOptimistic()
void begin()
void commit()
void rollback()
boolean exists(OpenJPAStateManager sm, Object edata)
boolean isCached(List<Object> oids, BitSet edata)
boolean syncVersion(OpenJPAStateManager sm, Object edata)
sm - the instance to checkedata - the current execution data, or null if not
 given to the calling method of the contextboolean initialize(OpenJPAStateManager sm, PCState state, FetchConfiguration fetch, Object edata)
OpenJPAStateManager.initialize(java.lang.Class, org.apache.openjpa.kernel.PCState) method with
 a new instance of the correct type constructed with the
 PCRegistry.newInstance(Class,
 org.apache.openjpa.enhance.StateManager, boolean) method
 (this will reset the state manager's metadata if the actual type was a
 subclass). After instance initialization, load any the fields for the
 given fetch configuration that can be efficiently retrieved. If any of
 the configured fields are not loaded in this method, they will be
 loaded with a subsequent call to load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object). If this method is
 called during a data store transaction, the instance's database record
 should be locked. Version information can be loaded if desired through
 the OpenJPAStateManager.setVersion(java.lang.Object) method.sm - the instance to initializestate - the lifecycle state to initialize the state manager withfetch - configuration for how to load the instanceedata - the current execution data, or null if not
 given to the calling method of the brokerboolean load(OpenJPAStateManager sm, BitSet fields, FetchConfiguration fetch, int lockLevel, Object edata)
OpenJPAStateManager.setVersion(java.lang.Object) method.sm - the instance to loadfields - set of fields to load; all field indexes in this
 set must be loaded; this set is mutablefetch - the fetch configuration to use when loading
 related objectslockLevel - attempt to load simple fields at this lock level;
 relations should be loaded at the read lock level
 of the fetch configurationedata - the current execution data, or null if not
 given to the calling method of the brokerCollection<Object> loadAll(Collection<OpenJPAStateManager> sms, PCState state, int load, FetchConfiguration fetch, Object edata)
StoreContext.retrieveAll(java.util.Collection<java.lang.Object>, boolean, org.apache.openjpa.kernel.OpCallbacks). It gives
 the store manager an opportunity to efficiently batch-load data for
 several objects. Each of the given state managers will be in one of
 three states, each requiring a different action:
 stateManager.getO () == null: An
 uninitialized state manager. Perform the same actions as in
 initialize(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.kernel.PCState, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object).
 load != FORCE_LOAD_NONE || stateManager.getPCState ()
 == PCState.HOLLOW: A hollow state manager, or one whose
 fields must be loaded because this is a refresh or retrieve action.
 Peform the same actions as in load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object), choosing the fields
 to load based on the fetch configuration, or loading all fields
 if load == FORCE_LOAD_ALL. Any required fields left
 unloaded will cause a subsequent invocation of load(org.apache.openjpa.kernel.OpenJPAStateManager, java.util.BitSet, org.apache.openjpa.kernel.FetchConfiguration, int, java.lang.Object) on
 the individual object in question.load == FORCE_LOAD_NONE &&
 stateManager.getPCState () != PCState.HOLLOW: A non-hollow
 state manager. Perform the same actions as in exists(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object),
 and load additional state if desired. Non-hollow objects will only
 be included outside of refresh invocations if a user calls
 findAll with the validate
 parameter set to true.sms - the state manager instances to loadstate - the lifecycle state to initialize uninitialized
 state managers with; may be null if no uninitialized
 instances are included in smsload - one of the FORCE_LOAD_* constants describing the
 fields to force-load if this is a refresh or retrieve actionfetch - the current fetch configuration to use when loading
 related objectsedata - the current execution data, or null if not
 given to the calling method of the brokerImplHelper.loadAll(java.util.Collection, org.apache.openjpa.kernel.StoreManager, org.apache.openjpa.kernel.PCState, int, org.apache.openjpa.kernel.FetchConfiguration, java.lang.Object)void beforeStateChange(OpenJPAStateManager sm, PCState fromState, PCState toState)
Collection<Exception> flush(Collection<OpenJPAStateManager> sms)
OpenJPAStateManager.setObjectId(java.lang.Object). New
 instances with value-strategy fields that have not been assigned yet
 should have their fields set. Datastore version information should be
 updated during flush, and the state manager's version indicator
 updated through the OpenJPAStateManager.setNextVersion(java.lang.Object) method.
 The current version will roll over to this next version upon successful
 commit.org.apache.openjpa.util.ApplicationIds#assign()boolean assignObjectId(OpenJPAStateManager sm, boolean preFlush)
preFlush - whether this assignment is being requested by the
 system as part of pre-flush activities, and can
 be ignored if it is more efficient to assign within flush(java.util.Collection<org.apache.openjpa.kernel.OpenJPAStateManager>)ImplHelper.generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.FieldMetaData), 
ImplHelper.generateIdentityValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.ClassMetaData, int), 
org.apache.openjpa.util.ApplicationIds#assign()boolean assignField(OpenJPAStateManager sm, int field, boolean preFlush)
preFlush - whether this assignment is being requested by the
 system as part of pre-flush activities, and can
 be ignored if it is more efficient to assign within flush(java.util.Collection<org.apache.openjpa.kernel.OpenJPAStateManager>)ImplHelper.generateFieldValue(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.FieldMetaData)Class<?> getManagedType(Object oid)
Class<?> getDataStoreIdType(ClassMetaData meta)
Object copyDataStoreId(Object oid, ClassMetaData meta)
Object newDataStoreId(Object oidVal, ClassMetaData meta)
Object getClientConnection()
void retainConnection()
void releaseConnection()
boolean cancelAll()
ResultObjectProvider executeExtent(ClassMetaData meta, boolean subclasses, FetchConfiguration fetch)
StoreQuery newQuery(String language)
language - the query languageFetchConfiguration newFetchConfiguration()
FetchConfigurationImpl.int compareVersion(OpenJPAStateManager state, Object v1, Object v2)
state - the state manager for the objectv1 - the first version object to comparev2 - the second version object to compareVERSION_LATER if v1
 is later than v2VERSION_EARLIER if v1
 is earlier than v2VERSION_SAME if v1
 is the same as v2VERSION_DIFFERENT if v1
 is different from v2, but the time
 difference of the versions cannot be determinedSeq getDataStoreIdSequence(ClassMetaData forClass)
Seq getValueSequence(FieldMetaData forField)
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.