|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface FetchGroup
FetchGroup represents a named fetch group for a specific class or interface. A fetch group instance identifies the name of the class or interface, the list of members (fields or properties) to be fetched when the fetch group is active, and the recursion depth for each member.
Fetch groups are updated using methods on this interface. An instance of
a class implementing this interface can be obtained from
PersistenceManager.getFetchGroup(java.lang.Class, java.lang.String)
or
PersistenceManagerFactory.getFetchGroup(java.lang.Class, java.lang.String)
.
A FetchGroup can be unscoped or can be in one of two scopes (the
PersistenceManager
or the PersistenceManagerFactory
scope).
Unscoped FetchGroups do not affect any behavior.
A FetchGroup in PersistenceManager scope hides the corresponding
FetchGroup in the PersistenceManagerFactory scope.
PersistenceManager.getFetchGroup(java.lang.Class, java.lang.String)
,
it is immediately in scope of its PersistenceManager
.
Subsequent modifications of the FetchGroup
immediately affect FetchPlan
s that contain the
FetchGroup
.
PersistenceManagerFactory.getFetchGroup(java.lang.Class, java.lang.String)
, it is unscoped.
PersistenceManagerFactory.addFetchGroups(javax.jdo.FetchGroup...)
, it is put in scope of the
PersistenceManagerFactory
.
PersistenceManagerFactory.removeFetchGroups(javax.jdo.FetchGroup...)
,
PersistenceManagerFactory.removeAllFetchGroups()
, or replaced via
PersistenceManagerFactory.addFetchGroups(javax.jdo.FetchGroup...)
, it is unscoped.
Field Summary | |
---|---|
static java.lang.String |
ALL
For use with addCategory(java.lang.String) and removeCategory(java.lang.String) calls. |
static java.lang.String |
BASIC
For use with addCategory(java.lang.String) and removeCategory(java.lang.String) calls. |
static java.lang.String |
DEFAULT
For use with addCategory(java.lang.String) and removeCategory(java.lang.String) calls. |
static java.lang.String |
MULTIVALUED
For use with addCategory(java.lang.String) and removeCategory(java.lang.String) calls. |
static java.lang.String |
RELATIONSHIP
For use with addCategory(java.lang.String) and removeCategory(java.lang.String) calls. |
Method Summary | |
---|---|
FetchGroup |
addCategory(java.lang.String categoryName)
Add the members (fields or properties) of the named category to the set of members in this FetchGroup. |
FetchGroup |
addMember(java.lang.String memberName)
Add the member (field or property) to the set of members in this FetchGroup. |
FetchGroup |
addMembers(java.lang.String... memberNames)
Add the member (field or property) to the set of members in this FetchGroup. |
boolean |
equals(java.lang.Object other)
Return whether this instance is equal to the other. |
java.util.Set |
getMembers()
Return an immutable Set of String containing the names of all members. |
java.lang.String |
getName()
Get the name of this FetchGroup. |
boolean |
getPostLoad()
Get the post-load property of this FetchGroup. |
int |
getRecursionDepth(java.lang.String memberName)
Get the recursion-depth for this member. |
java.lang.Class |
getType()
Get the persistent type (class or interface) of this FetchGroup. |
int |
hashCode()
Return the hashCode for this instance. |
boolean |
isUnmodifiable()
Return whether this FetchGroup is unmodifiable. |
FetchGroup |
removeCategory(java.lang.String categoryName)
Remove the members (fields or properties) of the named category from the set of members in this FetchGroup. |
FetchGroup |
removeMember(java.lang.String memberName)
Remove the member (field or property) from the set of members in this FetchGroup. |
FetchGroup |
removeMembers(java.lang.String... memberNames)
Remove the member (field or property) from the set of members in this FetchGroup. |
FetchGroup |
setPostLoad(boolean postLoad)
Set the post-load property of this FetchGroup. |
FetchGroup |
setRecursionDepth(java.lang.String memberName,
int recursionDepth)
Set the recursion-depth for this member. |
FetchGroup |
setUnmodifiable()
Make this FetchGroup unmodifiable. |
Field Detail |
---|
static final java.lang.String DEFAULT
addCategory(java.lang.String)
and removeCategory(java.lang.String)
calls.
This category includes members defined in the default fetch group
in xml or annotations. Redefining the default fetch group via the API
does not affect the members defined by this category.
Using this category also sets the fetch-depth for the members in the default fetch group.
static final java.lang.String RELATIONSHIP
addCategory(java.lang.String)
and removeCategory(java.lang.String)
calls.
This category includes members of all relationship types.
static final java.lang.String MULTIVALUED
addCategory(java.lang.String)
and removeCategory(java.lang.String)
calls.
This category includes members of all multi-valued types, including
Collection, array, and Map types of basic and relationship types.
static final java.lang.String BASIC
addCategory(java.lang.String)
and removeCategory(java.lang.String)
calls.
This category includes members of all primitive and immutable
object class types as defined in section 6.4 of the specification,
including String, Locale, Currency, BigDecimal, and BigInteger;
as well as Date and its jdbc subtypes and Enum types.
static final java.lang.String ALL
addCategory(java.lang.String)
and removeCategory(java.lang.String)
calls.
This category includes all members in the persistent type.
Using this category also sets the fetch-depth for the members in the default fetch group.
Method Detail |
---|
int hashCode()
hashCode
in class java.lang.Object
boolean equals(java.lang.Object other)
equals
in class java.lang.Object
java.lang.String getName()
java.lang.Class getType()
boolean getPostLoad()
FetchGroup setPostLoad(boolean postLoad)
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup addMember(java.lang.String memberName)
memberName
- the name of a member to add to the FetchGroup
JDOUserException
- if the parameter is not a member of the
persistent type
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup addMembers(java.lang.String... memberNames)
memberNames
- the names of members to add to the FetchGroup
JDOUserException
- if any parameter is not a member of the
persistent type
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup removeMember(java.lang.String memberName)
JDOUserException
- if the parameter is not a member of the
persistent type
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup removeMembers(java.lang.String... memberNames)
JDOUserException
- if any parameter is not a member of the
persistent type
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup addCategory(java.lang.String categoryName)
addMembers(java.lang.String...)
was called. After this
method executes, the category is not remembered.
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup removeCategory(java.lang.String categoryName)
removeMembers(java.lang.String...)
was called. After this
method executes, the category is not remembered.
JDOUserException
- if the FetchGroup is unmodifiableFetchGroup setRecursionDepth(java.lang.String memberName, int recursionDepth)
memberName
- the name of the field or propertyrecursionDepth
- the value for the recursion-depth property
JDOUserException
- if the member does not exist
JDOUserException
- if the FetchGroup is unmodifiableint getRecursionDepth(java.lang.String memberName)
memberName
- the name of the field or property
JDOUserException
- if the member is not in the FetchGroupjava.util.Set getMembers()
FetchGroup setUnmodifiable()
boolean isUnmodifiable()
setPostLoad(boolean)
, addMember(java.lang.String)
, removeMember(java.lang.String)
,
addMembers(java.lang.String...)
, removeMembers(java.lang.String...)
,
addCategory(java.lang.String)
, and removeCategory(java.lang.String)
will throw JDOUserException
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |