org.hibernate.engine.loading

Class CollectionLoadContext


public class CollectionLoadContext
extends java.lang.Object

Represents state associated with the processing of a given ResultSet in regards to loading collections.

Another implementation option to consider is to not expose ResultSets directly (in the JDBC redesign) but to always "wrap" them and apply a [series of] context[s] to that wrapper.

Author:
Steve Ebersole

Constructor Summary

CollectionLoadContext(LoadContexts loadContexts, ResultSet resultSet)
Creates a collection load context for the given result set.

Method Summary

void
endLoadingCollections(CollectionPersister persister)
Finish the process of collection-loading for this bound result set.
LoadContexts
getLoadContext()
PersistentCollection
getLoadingCollection(CollectionPersister persister, Serializable key)
Retrieve the collection that is being loaded as part of processing this result set.
ResultSet
getResultSet()
String
toString()

Constructor Details

CollectionLoadContext

public CollectionLoadContext(LoadContexts loadContexts,
                             ResultSet resultSet)
Creates a collection load context for the given result set.
Parameters:
loadContexts - Callback to other collection load contexts.
resultSet - The result set this is "wrapping".

Method Details

endLoadingCollections

public void endLoadingCollections(CollectionPersister persister)
Finish the process of collection-loading for this bound result set. Mainly this involves cleaning up resources and notifying the collections that loading is complete.
Parameters:
persister - The persister for which to complete loading.

getLoadContext

public LoadContexts getLoadContext()

getLoadingCollection

public PersistentCollection getLoadingCollection(CollectionPersister persister,
                                                 Serializable key)
Retrieve the collection that is being loaded as part of processing this result set.

Basically, there are two valid return values from this method:

  • an instance of PersistentCollection which indicates to continue loading the result set row data into that returned collection instance; this may be either an instance already associated and in the midst of being loaded, or a newly instantiated instance as a matching associated collection was not found.
  • null indicates to ignore the corresponding result set row data relating to the requested collection; this indicates that either the collection was found to already be associated with the persistence context in a fully loaded state, or it was found in a loading state associated with another result set processing context.
Parameters:
persister - The persister for the collection being requested.
key - The key of the collection being requested.
Returns:
The loading collection (see discussion above).

getResultSet

public ResultSet getResultSet()

toString

public String toString()