Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate.engine.loading
Class LoadContexts

    java.lang.Object
      org.hibernate.engine.loading.LoadContexts

    public class LoadContexts

extends Object

Maps `result-sets` to specific contextual data related to processing that `result-sets`.

Implementation note: internally an `IdentityMap` is used to maintain the mappings; `IdentityMap` was chosen because I'd rather not be dependent upon potentially bad `ResultSet#equals` and {ResultSet#hashCode} implementations.

Considering the JDBC-redesign work, would further like this contextual info not mapped seperately, but available based on the result set being processed. This would also allow maintaining a single mapping as we could reliably get notification of the result-set closing...

Author:
  Steve Ebersole

Constructor Summary
`LoadContexts(PersistenceContext persistenceContext)` Creates and binds this to the given persistence context.

Method Summary
`void` | `cleanup()` Release internal state associated with *all* result sets.
`void` | `cleanup(ResultSet resultSet)` Release internal state associated with the given result set.
`CollectionLoadContext` | `getCollectionLoadContext(ResultSet resultSet)` Get the `CollectionLoadContext` associated with the given `ResultSet`, creating one if needed.
`EntityLoadContext` | `getEntityLoadContext(ResultSet resultSet)`
`PersistenceContext` | `getPersistenceContext()` Retrieves the persistence context to which this is bound.
`boolean` | `hasLoadingCollectionEntries()` Do we currently have any internal entries corresponding to loading collections?
`PersistentCollection` | `locateLoadingCollection(CollectionPersister persister, Serializable ownerKey)` Attempt to locate the loading collection given the owner's key.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LoadContexts

    public LoadContexts(PersistenceContext persistenceContext)

  Creates and binds this to the given persistence context.

  Parameters:
    `persistenceContext` - The persistence context to which this will be bound.

Method Detail

### getPersistenceContext

    public PersistenceContext getPersistenceContext()

  Retrieves the persistence context to which this is bound.

  Returns:
    The persistence context to which this is bound.

### cleanup

    public void cleanup(ResultSet resultSet)

  Release internal state associated with the given result set.

  This should be called when we are done with processing said result set, ideally as the result set is being closed.

  Parameters:
    `resultSet` - The result set for which it is ok to release associated resources.

### cleanup

    public void cleanup()

  Release internal state associated with *all* result sets.

  This is intended as a "failsafe" process to make sure we get everything cleaned up and released.

### hasLoadingCollectionEntries

    public boolean hasLoadingCollectionEntries()

  Do we currently have any internal entries corresponding to loading collections?

  Returns:
    True if we currently hold state pertaining to loading collections; false otherwise.

### getCollectionLoadContext

    public CollectionLoadContext getCollectionLoadContext(ResultSet resultSet)

  Get the `CollectionLoadContext` associated with the given `ResultSet`, creating one if needed.

  Parameters:
    `resultSet` - The result set for which to retrieve the context.
  Returns:
    The processing context.

### locateLoadingCollection

    public PersistentCollection locateLoadingCollection(CollectionPersister persister,
                                                        Serializable ownerKey)

  Attempt to locate the loading collection given the owner's key. The lookup here occurs against all result-set contexts...

  Parameters:
    `persister` - The collection persister
    `ownerKey` - The owner key
  Returns:
    The loading collection, or null if not found.

### getEntityLoadContext

    public EntityLoadContext getEntityLoadContext(ResultSet resultSet)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD