public class DelegatingFetchConfiguration extends Object implements FetchConfiguration
DEFAULT, FETCH_LOAD, FETCH_NONE, FETCH_REF
LOCK_NONE, LOCK_READ, LOCK_WRITE
LOCKSCOPE_EXTENDED, LOCKSCOPE_NORMAL
FLUSH_FALSE, FLUSH_TRUE, FLUSH_WITH_CONNECTION
Constructor and Description |
---|
DelegatingFetchConfiguration(FetchConfiguration fetch)
Constructor; supply delegate.
|
DelegatingFetchConfiguration(FetchConfiguration fetch,
RuntimeExceptionTranslator trans)
Constructor; supply delegate and exception translator.
|
Modifier and Type | Method and Description |
---|---|
FetchConfiguration |
addFetchGroup(String group)
Adds
group to the set of fetch group names to
use when loading objects. |
FetchConfiguration |
addFetchGroups(Collection 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 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.
|
boolean |
equals(Object other) |
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.
|
FetchConfiguration |
getDelegate()
Return the direct delegate.
|
boolean |
getExtendedPathLookup()
Affirms if extended path lookup feature is active.
|
int |
getFetchBatchSize()
Return the fetch batch size for large result set support.
|
Set |
getFetchGroups()
Returns immutable set of names of the fetch groups that this component
will use when loading objects.
|
Set |
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()
Get an immutable view of the currently active hints and their values.
|
FetchConfiguration |
getInnermostDelegate()
Return the native delegate.
|
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.
|
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.
|
Set |
getRootClasses()
Root classes for recursive operations.
|
Set |
getRootInstances()
Root instances for recursive operations.
|
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 |
hasField(String field)
Return true if the given fully-qualified field has been added.
|
int |
hashCode() |
boolean |
isDefaultPUFetchGroupConfigurationOnly()
Affirm if the Fetch Plan currently matches the Persistence Unit's configured default.
|
boolean |
isFetchConfigurationSQLCacheAdmissible()
Whether SQL generated by the FetchConfiguration's current configuration should be cached.
|
boolean |
isHintSet(String key)
Affirm if the given hint has been set in this receiver.
|
void |
lock()
Synchronize on internal lock if multithreaded is true.
|
ResultList |
newResultList(ResultObjectProvider rop)
Return a new result list for the current fetch configuration.
|
FetchConfiguration |
removeFetchGroup(String group)
Remove the given fetch group.
|
FetchConfiguration |
removeFetchGroups(Collection 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 fields)
Removes
fields from the set of fully-qualified field names
to use when loading objects. |
int |
requiresFetch(FieldMetaData fmd)
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 name,
Object value)
Sets an arbitrary query hint that may be utilized during execution.
|
void |
setHint(String name,
Object value,
Object original)
Sets an arbitrary query hint that may be utilized during execution.
|
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 roots)
Root classes for recursive operations.
|
FetchConfiguration |
setRootInstances(Collection roots)
Root instances for recursive operations.
|
FetchConfiguration |
setWriteLockLevel(int level)
The lock level to use for locking dirtied objects.
|
protected RuntimeException |
translate(RuntimeException re)
Translate the OpenJPA exception.
|
FetchConfiguration |
traverse(FieldMetaData fmd)
Traverse the given field to generate (possibly) a new configuration
state.
|
void |
unlock()
Release internal lock if multithreaded is true.
|
public DelegatingFetchConfiguration(FetchConfiguration fetch)
public DelegatingFetchConfiguration(FetchConfiguration fetch, RuntimeExceptionTranslator trans)
public FetchConfiguration getDelegate()
public FetchConfiguration getInnermostDelegate()
protected RuntimeException translate(RuntimeException re)
public StoreContext getContext()
FetchConfiguration
getContext
in interface FetchConfiguration
public void setContext(StoreContext ctx)
FetchConfiguration
setContext
in interface FetchConfiguration
public int getFetchBatchSize()
FetchConfiguration
openjpa.FetchBatchSize
setting. Note
that this property will be ignored under some data stores.getFetchBatchSize
in interface FetchConfiguration
public FetchConfiguration setFetchBatchSize(int fetchBatchSize)
FetchConfiguration
openjpa.FetchBatchSize
setting. Note
that this property will be ignored under some data stores.setFetchBatchSize
in interface FetchConfiguration
public int getMaxFetchDepth()
FetchConfiguration
1
getMaxFetchDepth
in interface FetchConfiguration
public FetchConfiguration setMaxFetchDepth(int depth)
FetchConfiguration
setMaxFetchDepth
in interface FetchConfiguration
depth
- denotes limiting length of traversal path from a root
instance. -1
implies no limit. 0
is not
permissible.public Set getRootInstances()
FetchConfiguration
getRootInstances
in interface FetchConfiguration
public FetchConfiguration setRootInstances(Collection roots)
FetchConfiguration
setRootInstances
in interface FetchConfiguration
public Set getRootClasses()
FetchConfiguration
getRootClasses
in interface FetchConfiguration
public FetchConfiguration setRootClasses(Collection roots)
FetchConfiguration
setRootClasses
in interface FetchConfiguration
public boolean getQueryCacheEnabled()
FetchConfiguration
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.getQueryCacheEnabled
in interface FetchConfiguration
public FetchConfiguration setQueryCacheEnabled(boolean cache)
FetchConfiguration
setQueryCacheEnabled
in interface FetchConfiguration
public int getFlushBeforeQueries()
FetchConfiguration
getFlushBeforeQueries
in interface FetchConfiguration
public FetchConfiguration setFlushBeforeQueries(int flush)
FetchConfiguration
setFlushBeforeQueries
in interface FetchConfiguration
public boolean getExtendedPathLookup()
FetchConfiguration
getExtendedPathLookup
in interface FetchConfiguration
public FetchConfiguration setExtendedPathLookup(boolean flag)
FetchConfiguration
setExtendedPathLookup
in interface FetchConfiguration
public Set getFetchGroups()
FetchConfiguration
openjpa.FetchGroups
setting. This set is not thread safe.getFetchGroups
in interface FetchConfiguration
public boolean hasFetchGroup(String group)
FetchConfiguration
hasFetchGroup
in interface FetchConfiguration
public FetchConfiguration addFetchGroup(String group)
FetchConfiguration
group
to the set of fetch group names to
use when loading objects.addFetchGroup
in interface FetchConfiguration
public FetchConfiguration addFetchGroups(Collection groups)
FetchConfiguration
groups
to the set of fetch group names to
use when loading objects.addFetchGroups
in interface FetchConfiguration
public FetchConfiguration removeFetchGroup(String group)
FetchConfiguration
removeFetchGroup
in interface FetchConfiguration
public FetchConfiguration removeFetchGroups(Collection groups)
FetchConfiguration
groups
from the set of fetch group names
to use when loading objects.removeFetchGroups
in interface FetchConfiguration
public FetchConfiguration clearFetchGroups()
FetchConfiguration
clearFetchGroups
in interface FetchConfiguration
public FetchConfiguration resetFetchGroups()
FetchConfiguration
resetFetchGroups
in interface FetchConfiguration
public Set getFields()
FetchConfiguration
getFields
in interface FetchConfiguration
public boolean hasField(String field)
FetchConfiguration
hasField
in interface FetchConfiguration
public FetchConfiguration addField(String field)
FetchConfiguration
field
to the set of fully-qualified field names to
use when loading objects.addField
in interface FetchConfiguration
public FetchConfiguration addFields(Collection fields)
FetchConfiguration
fields
to the set of fully-qualified field names to
use when loading objects.addFields
in interface FetchConfiguration
public FetchConfiguration removeField(String field)
FetchConfiguration
removeField
in interface FetchConfiguration
public FetchConfiguration removeFields(Collection fields)
FetchConfiguration
fields
from the set of fully-qualified field names
to use when loading objects.removeFields
in interface FetchConfiguration
public FetchConfiguration clearFields()
FetchConfiguration
clearFields
in interface FetchConfiguration
public int getLockTimeout()
FetchConfiguration
getLockTimeout
in interface FetchConfiguration
public FetchConfiguration setLockTimeout(int timeout)
FetchConfiguration
setLockTimeout
in interface FetchConfiguration
public int getQueryTimeout()
FetchConfiguration
getQueryTimeout
in interface FetchConfiguration
public FetchConfiguration setQueryTimeout(int timeout)
FetchConfiguration
setQueryTimeout
in interface FetchConfiguration
public int getLockScope()
FetchConfiguration
getLockScope
in interface FetchConfiguration
public FetchConfiguration setLockScope(int scope)
FetchConfiguration
setLockScope
in interface FetchConfiguration
public int getReadLockLevel()
FetchConfiguration
getReadLockLevel
in interface FetchConfiguration
public FetchConfiguration setReadLockLevel(int level)
FetchConfiguration
setReadLockLevel
in interface FetchConfiguration
public int getWriteLockLevel()
FetchConfiguration
getWriteLockLevel
in interface FetchConfiguration
public FetchConfiguration setWriteLockLevel(int level)
FetchConfiguration
setWriteLockLevel
in interface FetchConfiguration
public ResultList newResultList(ResultObjectProvider rop)
FetchConfiguration
newResultList
in interface FetchConfiguration
public void copy(FetchConfiguration fetch)
FetchConfiguration
copy
in interface FetchConfiguration
public Object clone()
FetchConfiguration
clone
in interface FetchConfiguration
clone
in class Object
public void setHint(String name, Object value)
FetchConfiguration
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.public void setHint(String name, Object value, Object original)
FetchConfiguration
setHint
in interface FetchConfiguration
name
- the name of the hintvalue
- the value of the hint. If the hint has a corresponding setter, then
the type of value must be same as the setter argument.original
- the value of the hint as specified by the user.public boolean isHintSet(String key)
FetchConfiguration
isHintSet
in interface FetchConfiguration
public boolean isDefaultPUFetchGroupConfigurationOnly()
FetchConfiguration
isDefaultPUFetchGroupConfigurationOnly
in interface FetchConfiguration
public Object getHint(String name)
FetchConfiguration
getHint
in interface FetchConfiguration
public Map<String,Object> getHints()
FetchConfiguration
getHints
in interface FetchConfiguration
public int requiresFetch(FieldMetaData fmd)
FetchConfiguration
FetchConfiguration.FETCH_NONE
,
FetchConfiguration.FETCH_LOAD
, FETCH_REF
.requiresFetch
in interface FetchConfiguration
public boolean requiresLoad()
FetchConfiguration
FetchConfiguration.FETCH_REF
field.requiresLoad
in interface FetchConfiguration
public FetchConfiguration traverse(FieldMetaData fmd)
FetchConfiguration
traverse
in interface FetchConfiguration
public void lock()
FetchConfiguration
lock
in interface FetchConfiguration
public void unlock()
FetchConfiguration
unlock
in interface FetchConfiguration
public DataCacheRetrieveMode getCacheRetrieveMode()
FetchConfiguration
getCacheRetrieveMode
in interface FetchConfiguration
public DataCacheStoreMode getCacheStoreMode()
FetchConfiguration
getCacheStoreMode
in interface FetchConfiguration
public void setCacheRetrieveMode(DataCacheRetrieveMode mode)
FetchConfiguration
setCacheRetrieveMode
in interface FetchConfiguration
public void setCacheStoreMode(DataCacheStoreMode mode)
FetchConfiguration
setCacheStoreMode
in interface FetchConfiguration
public boolean isFetchConfigurationSQLCacheAdmissible()
FetchConfiguration
isFetchConfigurationSQLCacheAdmissible
in interface FetchConfiguration
Copyright © 2006–2018 Apache Software Foundation. All rights reserved.