|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.openjpa.kernel.FetchConfigurationImpl
public class FetchConfigurationImpl
Allows configuration and optimization of how objects are loaded from the data store.
| 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 |
|---|
public FetchConfigurationImpl()
protected FetchConfigurationImpl(FetchConfigurationImpl.ConfigurationState state)
| Method Detail |
|---|
protected static void populateHintSetter(Class<?> target,
String hint,
Class<?> type,
String... prefixes)
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.
protected static void populateHintSetter(Class<?> target,
String method,
String hint,
Class<?> type,
String... prefixes)
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.public StoreContext getContext()
FetchConfiguration
getContext in interface FetchConfigurationpublic void setContext(StoreContext ctx)
FetchConfiguration
setContext in interface FetchConfigurationpublic Object clone()
clone in interface FetchConfigurationclone in class Objectprotected FetchConfigurationImpl newInstance(FetchConfigurationImpl.ConfigurationState state)
public void copy(FetchConfiguration fetch)
FetchConfiguration
copy in interface FetchConfigurationvoid copyHints(FetchConfiguration fetch)
public int getFetchBatchSize()
FetchConfigurationopenjpa.FetchBatchSize setting. Note
that this property will be ignored under some data stores.
getFetchBatchSize in interface FetchConfigurationpublic FetchConfiguration setFetchBatchSize(int fetchBatchSize)
FetchConfigurationopenjpa.FetchBatchSize setting. Note
that this property will be ignored under some data stores.
setFetchBatchSize in interface FetchConfigurationpublic int getMaxFetchDepth()
FetchConfiguration1
getMaxFetchDepth in interface FetchConfigurationpublic FetchConfiguration setMaxFetchDepth(int depth)
FetchConfiguration
setMaxFetchDepth in interface FetchConfigurationdepth - denotes limiting length of traversal path from a root
instance. -1 implies no limit. 0 is not
permissible.public boolean getQueryCacheEnabled()
FetchConfigurationtrue 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.
getQueryCacheEnabled in interface FetchConfigurationpublic FetchConfiguration setQueryCacheEnabled(boolean cache)
FetchConfiguration
setQueryCacheEnabled in interface FetchConfigurationpublic int getFlushBeforeQueries()
FetchConfiguration
getFlushBeforeQueries in interface FetchConfigurationpublic boolean getExtendedPathLookup()
FetchConfiguration
getExtendedPathLookup in interface FetchConfigurationpublic FetchConfiguration setExtendedPathLookup(boolean flag)
FetchConfiguration
setExtendedPathLookup in interface FetchConfigurationpublic FetchConfiguration setFlushBeforeQueries(int flush)
FetchConfiguration
setFlushBeforeQueries in interface FetchConfigurationpublic Set<String> getFetchGroups()
FetchConfigurationopenjpa.FetchGroups setting. This set is not thread safe.
getFetchGroups in interface FetchConfigurationpublic boolean hasFetchGroup(String group)
FetchConfiguration
hasFetchGroup in interface FetchConfigurationpublic boolean hasFetchGroupDefault()
public boolean hasFetchGroupAll()
public FetchConfiguration addFetchGroup(String name)
FetchConfigurationgroup to the set of fetch group names to
use when loading objects.
addFetchGroup in interface FetchConfigurationpublic FetchConfiguration addFetchGroups(Collection<String> groups)
FetchConfigurationgroups to the set of fetch group names to
use when loading objects.
addFetchGroups in interface FetchConfigurationpublic FetchConfiguration removeFetchGroup(String group)
FetchConfiguration
removeFetchGroup in interface FetchConfigurationpublic FetchConfiguration removeFetchGroups(Collection<String> groups)
FetchConfigurationgroups from the set of fetch group names
to use when loading objects.
removeFetchGroups in interface FetchConfigurationpublic FetchConfiguration clearFetchGroups()
FetchConfiguration
clearFetchGroups in interface FetchConfigurationpublic FetchConfiguration resetFetchGroups()
FetchConfiguration
resetFetchGroups in interface FetchConfigurationpublic Set<String> getFields()
FetchConfiguration
getFields in interface FetchConfigurationpublic boolean hasField(String field)
FetchConfiguration
hasField in interface FetchConfigurationpublic FetchConfiguration addField(String field)
FetchConfigurationfield to the set of fully-qualified field names to
use when loading objects.
addField in interface FetchConfigurationpublic FetchConfiguration addFields(Collection<String> fields)
FetchConfigurationfields to the set of fully-qualified field names to
use when loading objects.
addFields in interface FetchConfigurationpublic FetchConfiguration removeField(String field)
FetchConfiguration
removeField in interface FetchConfigurationpublic FetchConfiguration removeFields(Collection<String> fields)
FetchConfigurationfields from the set of fully-qualified field names
to use when loading objects.
removeFields in interface FetchConfigurationpublic FetchConfiguration clearFields()
FetchConfiguration
clearFields in interface FetchConfigurationpublic DataCacheRetrieveMode getCacheRetrieveMode()
FetchConfiguration
getCacheRetrieveMode in interface FetchConfigurationpublic DataCacheStoreMode getCacheStoreMode()
FetchConfiguration
getCacheStoreMode in interface FetchConfigurationpublic void setCacheRetrieveMode(DataCacheRetrieveMode mode)
FetchConfiguration
setCacheRetrieveMode in interface FetchConfigurationpublic void setCacheStoreMode(DataCacheStoreMode mode)
FetchConfiguration
setCacheStoreMode in interface FetchConfigurationpublic int getLockTimeout()
FetchConfiguration
getLockTimeout in interface FetchConfigurationpublic FetchConfiguration setLockTimeout(int timeout)
FetchConfiguration
setLockTimeout in interface FetchConfigurationpublic int getQueryTimeout()
FetchConfiguration
getQueryTimeout in interface FetchConfigurationpublic FetchConfiguration setQueryTimeout(int timeout)
FetchConfiguration
setQueryTimeout in interface FetchConfigurationpublic int getLockScope()
FetchConfiguration
getLockScope in interface FetchConfigurationpublic FetchConfiguration setLockScope(int scope)
FetchConfiguration
setLockScope in interface FetchConfigurationpublic int getReadLockLevel()
FetchConfiguration
getReadLockLevel in interface FetchConfigurationpublic FetchConfiguration setReadLockLevel(int level)
FetchConfiguration
setReadLockLevel in interface FetchConfigurationpublic int getWriteLockLevel()
FetchConfiguration
getWriteLockLevel in interface FetchConfigurationpublic FetchConfiguration setWriteLockLevel(int level)
FetchConfiguration
setWriteLockLevel in interface FetchConfigurationpublic ResultList<?> newResultList(ResultObjectProvider rop)
FetchConfiguration
newResultList in interface FetchConfigurationpublic Map<String,Object> getHints()
getHints in interface FetchConfigurationpublic boolean isHintSet(String key)
isHintSet in interface FetchConfigurationpublic void removeHint(String... keys)
public Collection<String> getSupportedHints()
public void setHint(String key,
Object value)
setHint(key, value, value).
setHint in interface FetchConfigurationvalue - the value of the hint. If the hint has a corresponding setter, then
the type of value must be same as the setter argument.setHint(String, Object, Object)
public void setHint(String key,
Object value,
Object original)
setHint in interface FetchConfigurationkey - 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.
IllegalArgumentException - if the given value is not acceptable by the setter method, if one
exists corresponds the given hint key.public Object getHint(String name)
FetchConfiguration
getHint in interface FetchConfigurationpublic Object removeHint(String name)
public Set<Class<?>> getRootClasses()
FetchConfiguration
getRootClasses in interface FetchConfigurationpublic FetchConfiguration setRootClasses(Collection<Class<?>> classes)
FetchConfiguration
setRootClasses in interface FetchConfigurationpublic Set<Object> getRootInstances()
FetchConfiguration
getRootInstances in interface FetchConfigurationpublic FetchConfiguration setRootInstances(Collection<?> instances)
FetchConfiguration
setRootInstances in interface FetchConfigurationpublic void lock()
FetchConfiguration
lock in interface FetchConfigurationpublic void unlock()
FetchConfiguration
unlock in interface FetchConfigurationpublic int requiresFetch(FieldMetaData fm)
FetchConfigurationFetchConfiguration.FETCH_NONE,
FetchConfiguration.FETCH_LOAD, FETCH_REF.
requiresFetch in interface FetchConfigurationpublic boolean requiresLoad()
FetchConfigurationFetchConfiguration.FETCH_REF field.
requiresLoad in interface FetchConfigurationpublic FetchConfiguration traverse(FieldMetaData fm)
FetchConfiguration
traverse in interface FetchConfigurationFetchConfiguration getParent()
boolean isRoot()
FetchConfiguration getRoot()
int getAvailableFetchDepth()
int getAvailableRecursionDepth()
String getTraversedFromField()
Class<?> getTraversedFromType()
List<FetchConfigurationImpl> getPath()
List<FetchConfigurationImpl> trackPath(List<FetchConfigurationImpl> path)
public String toString()
toString in class Objectprotected String toString(Object o)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||