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.apache.openjpa.kernel
Class FetchConfigurationImpl

    java.lang.Object
      org.apache.openjpa.kernel.FetchConfigurationImpl

All Implemented Interfaces:
  Serializable, Cloneable, FetchConfiguration, LockLevels, LockScopes, QueryFlushModes

Direct Known Subclasses:
  JDBCFetchConfigurationImpl

    public class FetchConfigurationImpl

extends Object
implements FetchConfiguration, Cloneable

Allows configuration and optimization of how objects are loaded from the data store.

Since:
  0.3.0
Author:
  Abe White, Pinaki Poddar
See Also:
  Serialized Form

Nested Class Summary
`protected static class` | `FetchConfigurationImpl.ConfigurationState` Configurable state shared throughout a traversal chain.

Field Summary

Fields inherited from interface org.apache.openjpa.kernel.FetchConfiguration
`DEFAULT, FETCH_LOAD, FETCH_NONE, FETCH_REF`

Fields inherited from interface org.apache.openjpa.kernel.LockLevels
`LOCK_NONE, LOCK_READ, LOCK_WRITE`

Fields inherited from interface org.apache.openjpa.kernel.LockScopes
`LOCKSCOPE_EXTENDED, LOCKSCOPE_NORMAL`

Fields inherited from interface org.apache.openjpa.kernel.QueryFlushModes
`FLUSH_FALSE, FLUSH_TRUE, FLUSH_WITH_CONNECTION`

Constructor Summary
`` | `FetchConfigurationImpl()`
`protected` | `FetchConfigurationImpl(FetchConfigurationImpl.ConfigurationState state)`

Method Summary
`FetchConfiguration` | `addFetchGroup(String name)` Adds `group` to the set of fetch group names to use when loading objects.
`FetchConfiguration` | `addFetchGroups(Collection<String> groups)` Adds `groups` to the set of fetch group names to use when loading objects.
`FetchConfiguration` | `addField(String field)` Adds `field` to the set of fully-qualified field names to use when loading objects.
`FetchConfiguration` | `addFields(Collection<String> fields)` Adds `fields` to the set of fully-qualified field names to use when loading objects.
`FetchConfiguration` | `clearFetchGroups()` Clears the set of fetch group names to use when loading data.
`FetchConfiguration` | `clearFields()` Clears the set of field names to use when loading data.
`Object` | `clone()` Clone this instance.
`void` | `copy(FetchConfiguration fetch)` Copy the state from the given fetch configuration to this one.
`(package private) void` | `copyHints(FetchConfiguration fetch)`
`(package private) int` | `getAvailableFetchDepth()`
`(package private) int` | `getAvailableRecursionDepth()`
`DataCacheRetrieveMode` | `getCacheRetrieveMode()` Gets the current retrieve mode for data cache.
`DataCacheStoreMode` | `getCacheStoreMode()` Gets the current storage mode for data cache.
`StoreContext` | `getContext()` Return the context associated with this configuration; may be null if it has not been set or this object has been serialized.
`boolean` | `getExtendedPathLookup()` Affirms if extended path lookup feature is active.
`int` | `getFetchBatchSize()` Return the fetch batch size for large result set support.
`Set<String>` | `getFetchGroups()` Returns immutable set of names of the fetch groups that this component will use when loading objects.
`Set<String>` | `getFields()` Returns the set of fully-qualified field names that this component will use when loading objects.
`int` | `getFlushBeforeQueries()` The query automatic flush configuration.
`Object` | `getHint(String name)` Get the hint value for the specific key as originally set by the caller, or null if the hint is not specified.
`Map<String,Object>` | `getHints()` Gets the current hints set on this receiver.
`int` | `getLockScope()` The lock scope for next fetch.
`int` | `getLockTimeout()` The number of milliseconds to wait for an object lock, or -1 for no limit.
`int` | `getMaxFetchDepth()` Return the maximum depth of fetched instance graph.
`(package private) FetchConfiguration` | `getParent()`
`(package private) List<FetchConfigurationImpl>` | `getPath()`
`boolean` | `getQueryCacheEnabled()` Return whether or not query caching is enabled.
`int` | `getQueryTimeout()` The number of milliseconds to wait for a query, or -1 for no limit.
`int` | `getReadLockLevel()` The lock level to use for locking loaded objects.
`(package private) FetchConfiguration` | `getRoot()`
`Set<Class<?>>` | `getRootClasses()` Root classes for recursive operations.
`Set<Object>` | `getRootInstances()` Root instances for recursive operations.
`Collection<String>` | `getSupportedHints()`
`(package private) String` | `getTraversedFromField()`
`(package private) Class<?>` | `getTraversedFromType()`
`int` | `getWriteLockLevel()` The lock level to use for locking dirtied objects.
`boolean` | `hasFetchGroup(String group)` Return true if the given fetch group has been added.
`boolean` | `hasFetchGroupAll()`
`boolean` | `hasFetchGroupDefault()`
`boolean` | `hasField(String field)` Return true if the given fully-qualified field has been added.
`boolean` | `isHintSet(String key)` Affirms if the given key is set as a hint.
`(package private) boolean` | `isRoot()`
`void` | `lock()` Synchronize on internal lock if multithreaded is true.
`protected FetchConfigurationImpl` | `newInstance(FetchConfigurationImpl.ConfigurationState state)` Return a new hollow instance.
`ResultList<?>` | `newResultList(ResultObjectProvider rop)` Return a new result list for the current fetch configuration.
`protected static void` | `populateHintSetter(Class<?> target, String hint, Class<?> type, String... prefixes)` Populate static registry of hints.
`protected static void` | `populateHintSetter(Class<?> target, String method, String hint, Class<?> type, String... prefixes)` Populate static registry of hints.
`FetchConfiguration` | `removeFetchGroup(String group)` Remove the given fetch group.
`FetchConfiguration` | `removeFetchGroups(Collection<String> groups)` Removes `groups` from the set of fetch group names to use when loading objects.
`FetchConfiguration` | `removeField(String field)` Remove the given fully-qualified field.
`FetchConfiguration` | `removeFields(Collection<String> fields)` Removes `fields` from the set of fully-qualified field names to use when loading objects.
`void` | `removeHint(String... keys)` Removes the given keys and their hint value.
`Object` | `removeHint(String name)`
`int` | `requiresFetch(FieldMetaData fm)` Affirms if the given field requires to be fetched in the context of current fetch operation.
`boolean` | `requiresLoad()` Return false if we know that the object being fetched with this configuration does not require a load, because this configuration came from a traversal of a `FetchConfiguration.FETCH_REF` field.
`FetchConfiguration` | `resetFetchGroups()` Resets the set of fetch groups to the list in the global configuration.
`void` | `setCacheRetrieveMode(DataCacheRetrieveMode mode)` Sets the current retrieve mode for data cache.
`void` | `setCacheStoreMode(DataCacheStoreMode mode)` Sets the current storage mode for data cache.
`void` | `setContext(StoreContext ctx)` Called automatically by the system to associate the fetch configuration with a context before use.
`FetchConfiguration` | `setExtendedPathLookup(boolean flag)` Sets extended path lookup feature.
`FetchConfiguration` | `setFetchBatchSize(int fetchBatchSize)` Set the fetch batch size for large result set support.
`FetchConfiguration` | `setFlushBeforeQueries(int flush)` The query automatic flush configuration.
`void` | `setHint(String key, Object value)` Same as `setHint(key, value, value)`.
`void` | `setHint(String key, Object value, Object original)` Sets the hint to the given value.
`FetchConfiguration` | `setLockScope(int scope)` The lock scope for next fetch.
`FetchConfiguration` | `setLockTimeout(int timeout)` The number of milliseconds to wait for an object lock, or -1 for no limit.
`FetchConfiguration` | `setMaxFetchDepth(int depth)` Set the maximum depth of the fetched instance graph.
`FetchConfiguration` | `setQueryCacheEnabled(boolean cache)` Control whether or not query caching is enabled.
`FetchConfiguration` | `setQueryTimeout(int timeout)` The number of milliseconds to wait for a query, or -1 for no limit.
`FetchConfiguration` | `setReadLockLevel(int level)` The lock level to use for locking loaded objects.
`FetchConfiguration` | `setRootClasses(Collection<Class<?>> classes)` Root classes for recursive operations.
`FetchConfiguration` | `setRootInstances(Collection<?> instances)` Root instances for recursive operations.
`FetchConfiguration` | `setWriteLockLevel(int level)` The lock level to use for locking dirtied objects.
`String` | `toString()`
`protected String` | `toString(Object o)`
`(package private) List<FetchConfigurationImpl>` | `trackPath(List<FetchConfigurationImpl> path)`
`FetchConfiguration` | `traverse(FieldMetaData fm)` Traverse the given field to generate (possibly) a new configuration state.
`void` | `unlock()` Release internal lock if multithreaded is true.

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

Constructor Detail

### FetchConfigurationImpl

    public FetchConfigurationImpl()

### FetchConfigurationImpl

    protected FetchConfigurationImpl(FetchConfigurationImpl.ConfigurationState state)

Method Detail

### populateHintSetter

    protected static void populateHintSetter(Class<?> target,
                                             String hint,
                                             Class<?> type,
                                             String... prefixes)

  Populate static registry of hints.

  Parameters:
    `target` - The name of the target class that will receive this hint.
    `hint` - the simple name of the hint without a prefix.
    `type` - the value argument type of the target setter method.
    `prefixes` - the prefixes will be added to the simple hint name.

### populateHintSetter

    protected static void populateHintSetter(Class<?> target,
                                             String method,
                                             String hint,
                                             Class<?> type,
                                             String... prefixes)

  Populate static registry of hints.

  Parameters:
    `target` - The name of the target class that will receive this hint.
    `method` - The name of the method in the target class that will receive this hint.
    `hint` - the simple name of the hint without a prefix.
    `type` - the value argument type of the target setter method.
    `prefixes` - the prefixes will be added to the simple hint name.

### getContext

    public StoreContext getContext()

  Description copied from interface: `FetchConfiguration`
  Return the context associated with this configuration; may be null if it has not been set or this object has been serialized.

  Specified by:
    `getContext` in interface `FetchConfiguration`

### setContext

    public void setContext(StoreContext ctx)

  Description copied from interface: `FetchConfiguration`
  Called automatically by the system to associate the fetch configuration with a context before use. The fetch configuration properties should be synchronized with the context's configuration object. Subclasses for specific back ends cannot rely on the context's configuration implementing their back end's configuration sub-interface.

  Specified by:
    `setContext` in interface `FetchConfiguration`

### clone

    public Object clone()

  Clone this instance.

  Specified by:
    `clone` in interface `FetchConfiguration`
  Overrides:
    `clone` in class `Object`

### newInstance

    protected FetchConfigurationImpl newInstance(FetchConfigurationImpl.ConfigurationState state)

  Return a new hollow instance.

### copy

    public void copy(FetchConfiguration fetch)

  Description copied from interface: `FetchConfiguration`
  Copy the state from the given fetch configuration to this one.

  Specified by:
    `copy` in interface `FetchConfiguration`

### copyHints

    void copyHints(FetchConfiguration fetch)

### getFetchBatchSize

    public int getFetchBatchSize()

  Description copied from interface: `FetchConfiguration`
  Return the fetch batch size for large result set support. Defaults to the `openjpa.FetchBatchSize` setting. Note that this property will be ignored under some data stores.

  Specified by:
    `getFetchBatchSize` in interface `FetchConfiguration`

### setFetchBatchSize

    public FetchConfiguration setFetchBatchSize(int fetchBatchSize)

  Description copied from interface: `FetchConfiguration`
  Set the fetch batch size for large result set support. Defaults to the `openjpa.FetchBatchSize` setting. Note that this property will be ignored under some data stores.

  Specified by:
    `setFetchBatchSize` in interface `FetchConfiguration`

### getMaxFetchDepth

    public int getMaxFetchDepth()

  Description copied from interface: `FetchConfiguration`
  Return the maximum depth of fetched instance graph. Defaults to `1`

  Specified by:
    `getMaxFetchDepth` in interface `FetchConfiguration`

### setMaxFetchDepth

    public FetchConfiguration setMaxFetchDepth(int depth)

  Description copied from interface: `FetchConfiguration`
  Set the maximum depth of the fetched instance graph.

  Specified by:
    `setMaxFetchDepth` in interface `FetchConfiguration`
  Parameters:
    `depth` - denotes limiting length of traversal path from a root instance. `-1` implies no limit. `0` is not permissible.

### getQueryCacheEnabled

    public boolean getQueryCacheEnabled()

  Description copied from interface: `FetchConfiguration`
  Return whether or not query caching is enabled. If this returns `true` but the datacache plugin is not installed, caching will not be enabled. If this returns `false`, query caching will not be used even if the datacache plugin is installed.

  Specified by:
    `getQueryCacheEnabled` in interface `FetchConfiguration`

### setQueryCacheEnabled

    public FetchConfiguration setQueryCacheEnabled(boolean cache)

  Description copied from interface: `FetchConfiguration`
  Control whether or not query caching is enabled. This has no effect if the datacache plugin is not installed, or if the query cache size is set to zero.

  Specified by:
    `setQueryCacheEnabled` in interface `FetchConfiguration`

### getFlushBeforeQueries

    public int getFlushBeforeQueries()

  Description copied from interface: `FetchConfiguration`
  The query automatic flush configuration.

  Specified by:
    `getFlushBeforeQueries` in interface `FetchConfiguration`

### getExtendedPathLookup

    public boolean getExtendedPathLookup()

  Description copied from interface: `FetchConfiguration`
  Affirms if extended path lookup feature is active.

  Specified by:
    `getExtendedPathLookup` in interface `FetchConfiguration`

### setExtendedPathLookup

    public FetchConfiguration setExtendedPathLookup(boolean flag)

  Description copied from interface: `FetchConfiguration`
  Sets extended path lookup feature.

  Specified by:
    `setExtendedPathLookup` in interface `FetchConfiguration`

### setFlushBeforeQueries

    public FetchConfiguration setFlushBeforeQueries(int flush)

  Description copied from interface: `FetchConfiguration`
  The query automatic flush configuration.

  Specified by:
    `setFlushBeforeQueries` in interface `FetchConfiguration`

### getFetchGroups

    public Set<String> getFetchGroups()

  Description copied from interface: `FetchConfiguration`
  Returns immutable set of names of the fetch groups that this component will use when loading objects. Defaults to the `openjpa.FetchGroups` setting. This set is not thread safe.

  Specified by:
    `getFetchGroups` in interface `FetchConfiguration`

### hasFetchGroup

    public boolean hasFetchGroup(String group)

  Description copied from interface: `FetchConfiguration`
  Return true if the given fetch group has been added.

  Specified by:
    `hasFetchGroup` in interface `FetchConfiguration`

### hasFetchGroupDefault

    public boolean hasFetchGroupDefault()

### hasFetchGroupAll

    public boolean hasFetchGroupAll()

### addFetchGroup

    public FetchConfiguration addFetchGroup(String name)

  Description copied from interface: `FetchConfiguration`
  Adds `group` to the set of fetch group names to use when loading objects.

  Specified by:
    `addFetchGroup` in interface `FetchConfiguration`

### addFetchGroups

    public FetchConfiguration addFetchGroups(Collection<String> groups)

  Description copied from interface: `FetchConfiguration`
  Adds `groups` to the set of fetch group names to use when loading objects.

  Specified by:
    `addFetchGroups` in interface `FetchConfiguration`

### removeFetchGroup

    public FetchConfiguration removeFetchGroup(String group)

  Description copied from interface: `FetchConfiguration`
  Remove the given fetch group.

  Specified by:
    `removeFetchGroup` in interface `FetchConfiguration`

### removeFetchGroups

    public FetchConfiguration removeFetchGroups(Collection<String> groups)

  Description copied from interface: `FetchConfiguration`
  Removes `groups` from the set of fetch group names to use when loading objects.

  Specified by:
    `removeFetchGroups` in interface `FetchConfiguration`

### clearFetchGroups

    public FetchConfiguration clearFetchGroups()

  Description copied from interface: `FetchConfiguration`
  Clears the set of fetch group names to use when loading data. After this operation is invoked, only those fields in the default fetch group (and any requested field) will be loaded when loading an object.

  Specified by:
    `clearFetchGroups` in interface `FetchConfiguration`

### resetFetchGroups

    public FetchConfiguration resetFetchGroups()

  Description copied from interface: `FetchConfiguration`
  Resets the set of fetch groups to the list in the global configuration.

  Specified by:
    `resetFetchGroups` in interface `FetchConfiguration`

### getFields

    public Set<String> getFields()

  Description copied from interface: `FetchConfiguration`
  Returns the set of fully-qualified field names that this component will use when loading objects. Defaults to the empty set. This set is not thread safe.

  Specified by:
    `getFields` in interface `FetchConfiguration`

### hasField

    public boolean hasField(String field)

  Description copied from interface: `FetchConfiguration`
  Return true if the given fully-qualified field has been added.

  Specified by:
    `hasField` in interface `FetchConfiguration`

### addField

    public FetchConfiguration addField(String field)

  Description copied from interface: `FetchConfiguration`
  Adds `field` to the set of fully-qualified field names to use when loading objects.

  Specified by:
    `addField` in interface `FetchConfiguration`

### addFields

    public FetchConfiguration addFields(Collection<String> fields)

  Description copied from interface: `FetchConfiguration`
  Adds `fields` to the set of fully-qualified field names to use when loading objects.

  Specified by:
    `addFields` in interface `FetchConfiguration`

### removeField

    public FetchConfiguration removeField(String field)

  Description copied from interface: `FetchConfiguration`
  Remove the given fully-qualified field.

  Specified by:
    `removeField` in interface `FetchConfiguration`

### removeFields

    public FetchConfiguration removeFields(Collection<String> fields)

  Description copied from interface: `FetchConfiguration`
  Removes `fields` from the set of fully-qualified field names to use when loading objects.

  Specified by:
    `removeFields` in interface `FetchConfiguration`

### clearFields

    public FetchConfiguration clearFields()

  Description copied from interface: `FetchConfiguration`
  Clears the set of field names to use when loading data. After this operation is invoked, only those fields in the configured fetch groups will be loaded when loading an object.

  Specified by:
    `clearFields` in interface `FetchConfiguration`

### getCacheRetrieveMode

    public DataCacheRetrieveMode getCacheRetrieveMode()

  Description copied from interface: `FetchConfiguration`
  Gets the current retrieve mode for data cache.

  Specified by:
    `getCacheRetrieveMode` in interface `FetchConfiguration`

### getCacheStoreMode

    public DataCacheStoreMode getCacheStoreMode()

  Description copied from interface: `FetchConfiguration`
  Gets the current storage mode for data cache.

  Specified by:
    `getCacheStoreMode` in interface `FetchConfiguration`

### setCacheRetrieveMode

    public void setCacheRetrieveMode(DataCacheRetrieveMode mode)

  Description copied from interface: `FetchConfiguration`
  Sets the current retrieve mode for data cache.

  Specified by:
    `setCacheRetrieveMode` in interface `FetchConfiguration`

### setCacheStoreMode

    public void setCacheStoreMode(DataCacheStoreMode mode)

  Description copied from interface: `FetchConfiguration`
  Sets the current storage mode for data cache.

  Specified by:
    `setCacheStoreMode` in interface `FetchConfiguration`

### getLockTimeout

    public int getLockTimeout()

  Description copied from interface: `FetchConfiguration`
  The number of milliseconds to wait for an object lock, or -1 for no limit.

  Specified by:
    `getLockTimeout` in interface `FetchConfiguration`

### setLockTimeout

    public FetchConfiguration setLockTimeout(int timeout)

  Description copied from interface: `FetchConfiguration`
  The number of milliseconds to wait for an object lock, or -1 for no limit.

  Specified by:
    `setLockTimeout` in interface `FetchConfiguration`

### getQueryTimeout

    public int getQueryTimeout()

  Description copied from interface: `FetchConfiguration`
  The number of milliseconds to wait for a query, or -1 for no limit.

  Specified by:
    `getQueryTimeout` in interface `FetchConfiguration`

### setQueryTimeout

    public FetchConfiguration setQueryTimeout(int timeout)

  Description copied from interface: `FetchConfiguration`
  The number of milliseconds to wait for a query, or -1 for no limit.

  Specified by:
    `setQueryTimeout` in interface `FetchConfiguration`

### getLockScope

    public int getLockScope()

  Description copied from interface: `FetchConfiguration`
  The lock scope for next fetch.

  Specified by:
    `getLockScope` in interface `FetchConfiguration`

### setLockScope

    public FetchConfiguration setLockScope(int scope)

  Description copied from interface: `FetchConfiguration`
  The lock scope for next fetch.

  Specified by:
    `setLockScope` in interface `FetchConfiguration`

### getReadLockLevel

    public int getReadLockLevel()

  Description copied from interface: `FetchConfiguration`
  The lock level to use for locking loaded objects.

  Specified by:
    `getReadLockLevel` in interface `FetchConfiguration`

### setReadLockLevel

    public FetchConfiguration setReadLockLevel(int level)

  Description copied from interface: `FetchConfiguration`
  The lock level to use for locking loaded objects.

  Specified by:
    `setReadLockLevel` in interface `FetchConfiguration`

### getWriteLockLevel

    public int getWriteLockLevel()

  Description copied from interface: `FetchConfiguration`
  The lock level to use for locking dirtied objects.

  Specified by:
    `getWriteLockLevel` in interface `FetchConfiguration`

### setWriteLockLevel

    public FetchConfiguration setWriteLockLevel(int level)

  Description copied from interface: `FetchConfiguration`
  The lock level to use for locking dirtied objects.

  Specified by:
    `setWriteLockLevel` in interface `FetchConfiguration`

### newResultList

    public ResultList<?> newResultList(ResultObjectProvider rop)

  Description copied from interface: `FetchConfiguration`
  Return a new result list for the current fetch configuration.

  Specified by:
    `newResultList` in interface `FetchConfiguration`

### getHints

    public Map<String,Object> getHints()

  Gets the current hints set on this receiver. The values designate the actual value specified by the caller and not the values that may have been actually set on the state variables of this receiver.

  Specified by:
    `getHints` in interface `FetchConfiguration`

### isHintSet

    public boolean isHintSet(String key)

  Affirms if the given key is set as a hint.

  Specified by:
    `isHintSet` in interface `FetchConfiguration`

### removeHint

    public void removeHint(String... keys)

  Removes the given keys and their hint value.

### getSupportedHints

    public Collection<String> getSupportedHints()

### setHint

    public void setHint(String key,
                        Object value)

  Same as `setHint(key, value, value)`.

  Specified by:
    `setHint` in interface `FetchConfiguration`
    `value` - the value of the hint. If the hint has a corresponding setter, then the type of value must be same as the setter argument.
  See Also:
    `setHint(String, Object, Object)`

### setHint

    public void setHint(String key,
                        Object value,
                        Object original)

  Sets the hint to the given value. If the key corresponds to a known key, then that value is set via the setter method. Otherwise it is put into opaque hints map.
  In either case, the original value is put in the hints map. So essential difference between setting a value directly by a setter and via a hint is the memory of this original value.
  The other important difference is setting lock levels. Setting of lock level via setter method needs active transaction. But setting via hint does not.

  Specified by:
    `setHint` in interface `FetchConfiguration`
  Parameters:
    `key` - a hint key. If it is one of the statically registered hint key then the setter is called.
    `value` - to be set. The given value type must match the argument type of the setter, if one exists.
    `original` - value as specified by the caller. This value is put in the hints map.
  Throws:
    `IllegalArgumentException` - if the given value is not acceptable by the setter method, if one exists corresponds the given hint key.

### getHint

    public Object getHint(String name)

  Description copied from interface: `FetchConfiguration`
  Get the hint value for the specific key as originally set by the caller, or null if the hint is not specified.

  Specified by:
    `getHint` in interface `FetchConfiguration`

### removeHint

    public Object removeHint(String name)

### getRootClasses

    public Set<Class<?>> getRootClasses()

  Description copied from interface: `FetchConfiguration`
  Root classes for recursive operations. This set is not thread safe.

  Specified by:
    `getRootClasses` in interface `FetchConfiguration`

### setRootClasses

    public FetchConfiguration setRootClasses(Collection<Class<?>> classes)

  Description copied from interface: `FetchConfiguration`
  Root classes for recursive operations.

  Specified by:
    `setRootClasses` in interface `FetchConfiguration`

### getRootInstances

    public Set<Object> getRootInstances()

  Description copied from interface: `FetchConfiguration`
  Root instances for recursive operations. This set is not thread safe.

  Specified by:
    `getRootInstances` in interface `FetchConfiguration`

### setRootInstances

    public FetchConfiguration setRootInstances(Collection<?> instances)

  Description copied from interface: `FetchConfiguration`
  Root instances for recursive operations.

  Specified by:
    `setRootInstances` in interface `FetchConfiguration`

### lock

    public void lock()

  Description copied from interface: `FetchConfiguration`
  Synchronize on internal lock if multithreaded is true.

  Specified by:
    `lock` in interface `FetchConfiguration`

### unlock

    public void unlock()

  Description copied from interface: `FetchConfiguration`
  Release internal lock if multithreaded is true.

  Specified by:
    `unlock` in interface `FetchConfiguration`

### requiresFetch

    public int requiresFetch(FieldMetaData fm)

  Description copied from interface: `FetchConfiguration`
  Affirms if the given field requires to be fetched in the context of current fetch operation. Returns one of `FetchConfiguration.FETCH_NONE`, `FetchConfiguration.FETCH_LOAD`, `FETCH_REF`.

  Specified by:
    `requiresFetch` in interface `FetchConfiguration`

### requiresLoad

    public boolean requiresLoad()

  Description copied from interface: `FetchConfiguration`
  Return false if we know that the object being fetched with this configuration does not require a load, because this configuration came from a traversal of a `FetchConfiguration.FETCH_REF` field.

  Specified by:
    `requiresLoad` in interface `FetchConfiguration`

### traverse

    public FetchConfiguration traverse(FieldMetaData fm)

  Description copied from interface: `FetchConfiguration`
  Traverse the given field to generate (possibly) a new configuration state.

  Specified by:
    `traverse` in interface `FetchConfiguration`
  Returns:
    a new configuration state resulting out of traversal

### getParent

    FetchConfiguration getParent()

### isRoot

    boolean isRoot()

### getRoot

    FetchConfiguration getRoot()

### getAvailableFetchDepth

    int getAvailableFetchDepth()

### getAvailableRecursionDepth

    int getAvailableRecursionDepth()

### getTraversedFromField

    String getTraversedFromField()

### getTraversedFromType

    Class<?> getTraversedFromType()

### getPath

    List<FetchConfigurationImpl> getPath()

### trackPath

    List<FetchConfigurationImpl> trackPath(List<FetchConfigurationImpl> path)

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### toString

    protected String toString(Object o)

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

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.