Package org.apache.openjpa.slice.jdbc
Class TargetFetchConfiguration
- java.lang.Object
-
- org.apache.openjpa.kernel.FetchConfigurationImpl
-
- org.apache.openjpa.jdbc.kernel.JDBCFetchConfigurationImpl
-
- org.apache.openjpa.slice.jdbc.TargetFetchConfiguration
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,EagerFetchModes
,JDBCFetchConfiguration
,LRSSizes
,JoinSyntaxes
,FetchConfiguration
,LockLevels
,LockScopes
,QueryFlushModes
public class TargetFetchConfiguration extends JDBCFetchConfigurationImpl implements FetchConfiguration
A fetch configuration that is aware of special hint to narrow its operation on subset of slices.- Author:
- Pinaki Poddar
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.openjpa.jdbc.kernel.JDBCFetchConfigurationImpl
JDBCFetchConfigurationImpl.JDBCConfigurationState
-
Nested classes/interfaces inherited from class org.apache.openjpa.kernel.FetchConfigurationImpl
FetchConfigurationImpl.ConfigurationState
-
-
Field Summary
-
Fields inherited from class org.apache.openjpa.jdbc.kernel.JDBCFetchConfigurationImpl
_state
-
Fields inherited from interface org.apache.openjpa.jdbc.kernel.EagerFetchModes
EAGER_JOIN, EAGER_NONE, EAGER_PARALLEL
-
Fields inherited from interface org.apache.openjpa.kernel.FetchConfiguration
DEFAULT, FETCH_LOAD, FETCH_NONE, FETCH_REF
-
Fields inherited from interface org.apache.openjpa.jdbc.sql.JoinSyntaxes
SYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL
-
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.jdbc.kernel.LRSSizes
SIZE_LAST, SIZE_QUERY, SIZE_UNKNOWN
-
Fields inherited from interface org.apache.openjpa.kernel.QueryFlushModes
FLUSH_FALSE, FLUSH_TRUE, FLUSH_WITH_CONNECTION
-
-
Constructor Summary
Constructors Modifier Constructor Description TargetFetchConfiguration()
protected
TargetFetchConfiguration(FetchConfigurationImpl.ConfigurationState state, JDBCFetchConfigurationImpl.JDBCConfigurationState jstate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isExplicitTarget()
Affirms if the target is set on this receiver explicitly (i.e. by the user).protected TargetFetchConfiguration
newInstance(FetchConfigurationImpl.ConfigurationState state)
Return a new hollow instance.void
setHint(java.lang.String key, java.lang.Object value)
Setting hints on this configuration is treated specially if the given key is a target hint.void
setHint(java.lang.String key, java.lang.Object value, java.lang.Object original)
Sets the hint to the given value.void
setTargets(java.lang.String[] targets)
-
Methods inherited from class org.apache.openjpa.jdbc.kernel.JDBCFetchConfigurationImpl
addFetchInnerJoin, addFetchInnerJoins, addJoin, addJoins, clearJoins, copy, getEagerFetchMode, getFetchDirection, getFetchInnerJoins, getIgnoreDfgForFkSelect, getIsolation, getJoins, getJoinSyntax, getLRSSize, getResultSetType, getSubclassFetchMode, getSubclassFetchMode, hasFetchInnerJoin, hasJoin, newResultList, removeJoin, removeJoins, setContext, setEagerFetchMode, setFetchDirection, setIgnoreDfgForFkSelect, setIsolation, setJoinSyntax, setLRSSize, setResultSetType, setSubclassFetchMode, traverseJDBC
-
Methods inherited from class org.apache.openjpa.kernel.FetchConfigurationImpl
addFetchGroup, addFetchGroups, addField, addFields, clearFetchGroups, clearFields, clone, getCacheRetrieveMode, getCacheStoreMode, getContext, getExtendedPathLookup, getFetchBatchSize, getFetchGroups, getFields, getFlushBeforeQueries, getHint, getHints, getLockScope, getLockTimeout, getMaxFetchDepth, getQueryCacheEnabled, getQueryTimeout, getReadLockLevel, getRootClasses, getRootInstances, getSupportedHints, getWriteLockLevel, hasFetchGroup, hasFetchGroupAll, hasFetchGroupDefault, hasField, isDefaultPUFetchGroupConfigurationOnly, isFetchConfigurationSQLCacheAdmissible, isHintSet, lock, populateHintSetter, populateHintSetter, removeFetchGroup, removeFetchGroups, removeField, removeFields, removeHint, removeHint, requiresFetch, requiresLoad, resetFetchGroups, setCacheRetrieveMode, setCacheStoreMode, setExtendedPathLookup, setFetchBatchSize, setFlushBeforeQueries, setLockScope, setLockTimeout, setMaxFetchDepth, setQueryCacheEnabled, setQueryTimeout, setReadLockLevel, setRootClasses, setRootInstances, setWriteLockLevel, toString, toString, traverse, unlock
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.openjpa.kernel.FetchConfiguration
addFetchGroup, addFetchGroups, addField, addFields, clearFetchGroups, clearFields, clone, copy, getCacheRetrieveMode, getCacheStoreMode, getContext, getExtendedPathLookup, getFetchBatchSize, getFetchGroups, getFields, getFlushBeforeQueries, getHint, getHints, getLockScope, getLockTimeout, getMaxFetchDepth, getQueryCacheEnabled, getQueryTimeout, getReadLockLevel, getRootClasses, getRootInstances, getWriteLockLevel, hasFetchGroup, hasField, isDefaultPUFetchGroupConfigurationOnly, isFetchConfigurationSQLCacheAdmissible, isHintSet, lock, newResultList, removeFetchGroup, removeFetchGroups, removeField, removeFields, requiresFetch, requiresLoad, resetFetchGroups, setCacheRetrieveMode, setCacheStoreMode, setContext, setExtendedPathLookup, setFetchBatchSize, setFlushBeforeQueries, setLockScope, setLockTimeout, setMaxFetchDepth, setQueryCacheEnabled, setQueryTimeout, setReadLockLevel, setRootClasses, setRootInstances, setWriteLockLevel, traverse, unlock
-
-
-
-
Constructor Detail
-
TargetFetchConfiguration
public TargetFetchConfiguration()
-
TargetFetchConfiguration
protected TargetFetchConfiguration(FetchConfigurationImpl.ConfigurationState state, JDBCFetchConfigurationImpl.JDBCConfigurationState jstate)
-
-
Method Detail
-
setHint
public void setHint(java.lang.String key, java.lang.Object value)
Setting hints on this configuration is treated specially if the given key is a target hint.- Specified by:
setHint
in interfaceFetchConfiguration
- Overrides:
setHint
in classFetchConfigurationImpl
- Parameters:
value
- if the given key is target hint, then the value can be either null, a String or a non-zero sized String array. It can not be a zero-sized String array.- See Also:
FetchConfigurationImpl.setHint(String, Object, Object)
-
setHint
public void setHint(java.lang.String key, java.lang.Object value, java.lang.Object original)
Description copied from class:FetchConfigurationImpl
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 interfaceFetchConfiguration
- Overrides:
setHint
in classFetchConfigurationImpl
- 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.
-
setTargets
public void setTargets(java.lang.String[] targets)
-
isExplicitTarget
public boolean isExplicitTarget()
Affirms if the target is set on this receiver explicitly (i.e. by the user).
-
newInstance
protected TargetFetchConfiguration newInstance(FetchConfigurationImpl.ConfigurationState state)
Description copied from class:FetchConfigurationImpl
Return a new hollow instance.- Overrides:
newInstance
in classJDBCFetchConfigurationImpl
-
-