EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.sessions
Class CopyGroup

java.lang.Object
  extended by org.eclipse.persistence.queries.AttributeGroup
      extended by org.eclipse.persistence.sessions.CopyGroup
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
ObjectCopyingPolicy

public class CopyGroup
extends AttributeGroup

Purpose: Define how an object is to be copied.

Description: This is for usage with the object copying feature, not the unit of work. This is useful for copying an entire object graph as part of the host application's logic.

Responsibilities:

See Also:
Session#copy(Object, CopyGroup), Serialized Form

Field Summary
static int CASCADE_ALL_PARTS
          Depth level indicating that all relationships with mappings should be used when building the copied object graph
static int CASCADE_PRIVATE_PARTS
          Depth level indicating that only relationships with mapping indicated privately- owned should be copied
static int CASCADE_TREE
          Depth level indicating that only the attributes found in the attribute group should be copied
protected  java.util.Map copies
           
protected  int depth
          Policy depth that determines how the copy will cascade to the object's related parts
static int NO_CASCADE
          Depth level indicating that NO relationships should be included in the copy.
protected  org.eclipse.persistence.internal.sessions.AbstractSession session
           
protected  boolean shouldResetPrimaryKey
           
protected  boolean shouldResetVersion
           
 
Fields inherited from class org.eclipse.persistence.queries.AttributeGroup
items
 
Constructor Summary
CopyGroup()
          PUBLIC: By default only copy the attributes found in the attribute group and don't null primary keys.
CopyGroup(java.lang.String name)
          PUBLIC: By default only copy the attributes found in the attribute group and don't null primary keys.
 
Method Summary
 void addAttribute(java.lang.String attributeNameOrPath, AttributeGroup group)
          Add a basic attribute or nested attribute with each String representing an attribute on the path to what needs to be included in the AttributeGroup.
 void addAttribute(java.lang.String attributeNameOrPath, CopyGroup group)
           
 void cascadeAllParts()
          PUBLIC: Set if the copy should cascade all relationships when copying the object(s).
 void cascadePrivateParts()
          PUBLIC: Set if the copy should cascade only those relationships that are configured as privately-owned.
 void cascadeTree()
          PUBLIC: Set if the copy should cascade only those attributes that are found in the group.
 CopyGroup clone()
           
 void dontCascade()
          PUBLIC: Set if the copy should not cascade relationships when copying the object(s)
 java.util.Map getCopies()
          INTERNAL: Get the session.
 int getDepth()
          INTERNAL: Return the cascade depth.
 CopyGroup getGroup(java.lang.String attributeNameOrPath)
          Returns CopyGroup corresponding to the passed (possibly nested) attribute.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession()
          INTERNAL: Return the session.
 boolean isCopyGroup()
           
protected  CopyGroup newGroup(java.lang.String name, AttributeGroup parent)
          Subclass may create different types.
 void setCopies(java.util.Map newCopies)
          INTERNAL: Set the copies.
 void setDepth(int newDepth)
          INTERNAL: Set the cascade depth.
 void setSession(org.eclipse.persistence.internal.sessions.AbstractSession newSession)
          INTERNAL: Set the session.
 void setShouldResetPrimaryKey(boolean newShouldResetPrimaryKey)
          PUBLIC: Set if the primary key should be reset to null.
 void setShouldResetVersion(boolean newShouldResetVersion)
          PUBLIC: Set if the version should be reset to null.
 boolean shouldCascade()
          PUBLIC: Return true if has been configured to CASCADE_ALL_PARTS or CASCADE_PRIVATE_PARTS.
 boolean shouldCascadeAllParts()
          PUBLIC: Return true if should CASCADE_ALL_PARTS
 boolean shouldCascadePrivateParts()
          PUBLIC: Return true if should CASCADE_PRIVATE_PARTS
 boolean shouldCascadeTree()
          PUBLIC: Return true if should CASCADE_TREE
 boolean shouldResetPrimaryKey()
          PUBLIC: Return if the primary key should be reset to null.
 boolean shouldResetVersion()
          PUBLIC: Return if the version should be reset to null.
protected  java.lang.String toStringAdditionalInfo()
          INTERNAL:
 
Methods inherited from class org.eclipse.persistence.queries.AttributeGroup
addAttribute, addAttributes, containsAttribute, convert, equals, getAttributeNames, getItem, getItems, getName, hasItems, isFetchGroup, isLoadGroup, isSupersetOf, newItem, removeAttribute, setAttributeNames, setName, toCopyGroup, toFetchGroup, toLoadGroup, toString, toStringItems, toStringPath
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

shouldResetPrimaryKey

protected boolean shouldResetPrimaryKey

shouldResetVersion

protected boolean shouldResetVersion

session

protected org.eclipse.persistence.internal.sessions.AbstractSession session

copies

protected java.util.Map copies

depth

protected int depth
Policy depth that determines how the copy will cascade to the object's related parts


NO_CASCADE

public static final int NO_CASCADE
Depth level indicating that NO relationships should be included in the copy. Relationships that are not copied will include the default value of the object's instantiation policy

See Also:
Constant Field Values

CASCADE_PRIVATE_PARTS

public static final int CASCADE_PRIVATE_PARTS
Depth level indicating that only relationships with mapping indicated privately- owned should be copied

See Also:
Constant Field Values

CASCADE_ALL_PARTS

public static final int CASCADE_ALL_PARTS
Depth level indicating that all relationships with mappings should be used when building the copied object graph

See Also:
Constant Field Values

CASCADE_TREE

public static final int CASCADE_TREE
Depth level indicating that only the attributes found in the attribute group should be copied

See Also:
Constant Field Values
Constructor Detail

CopyGroup

public CopyGroup()
PUBLIC: By default only copy the attributes found in the attribute group and don't null primary keys.


CopyGroup

public CopyGroup(java.lang.String name)
PUBLIC: By default only copy the attributes found in the attribute group and don't null primary keys.

Method Detail

cascadeAllParts

public void cascadeAllParts()
PUBLIC: Set if the copy should cascade all relationships when copying the object(s).


cascadePrivateParts

public void cascadePrivateParts()
PUBLIC: Set if the copy should cascade only those relationships that are configured as privately-owned.


cascadeTree

public void cascadeTree()
PUBLIC: Set if the copy should cascade only those attributes that are found in the group.


dontCascade

public void dontCascade()
PUBLIC: Set if the copy should not cascade relationships when copying the object(s)


getCopies

public java.util.Map getCopies()
INTERNAL: Get the session.


getDepth

public int getDepth()
INTERNAL: Return the cascade depth.


getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
INTERNAL: Return the session.


setCopies

public void setCopies(java.util.Map newCopies)
INTERNAL: Set the copies.


setDepth

public void setDepth(int newDepth)
INTERNAL: Set the cascade depth.


setSession

public void setSession(org.eclipse.persistence.internal.sessions.AbstractSession newSession)
INTERNAL: Set the session.


setShouldResetPrimaryKey

public void setShouldResetPrimaryKey(boolean newShouldResetPrimaryKey)
PUBLIC: Set if the primary key should be reset to null.


setShouldResetVersion

public void setShouldResetVersion(boolean newShouldResetVersion)
PUBLIC: Set if the version should be reset to null.


shouldCascade

public boolean shouldCascade()
PUBLIC: Return true if has been configured to CASCADE_ALL_PARTS or CASCADE_PRIVATE_PARTS.


shouldCascadeAllParts

public boolean shouldCascadeAllParts()
PUBLIC: Return true if should CASCADE_ALL_PARTS


shouldCascadePrivateParts

public boolean shouldCascadePrivateParts()
PUBLIC: Return true if should CASCADE_PRIVATE_PARTS


shouldCascadeTree

public boolean shouldCascadeTree()
PUBLIC: Return true if should CASCADE_TREE


shouldResetPrimaryKey

public boolean shouldResetPrimaryKey()
PUBLIC: Return if the primary key should be reset to null.


shouldResetVersion

public boolean shouldResetVersion()
PUBLIC: Return if the version should be reset to null.


toStringAdditionalInfo

protected java.lang.String toStringAdditionalInfo()
INTERNAL:

Overrides:
toStringAdditionalInfo in class AttributeGroup

addAttribute

public void addAttribute(java.lang.String attributeNameOrPath,
                         AttributeGroup group)
Description copied from class: AttributeGroup
Add a basic attribute or nested attribute with each String representing an attribute on the path to what needs to be included in the AttributeGroup.

Example: group.addAttribute("firstName", group1);
group.addAttribute("manager.address", group2);
Note that existing group corresponding to attributeNameOrPath will be overridden with the passed group.

Overrides:
addAttribute in class AttributeGroup
group - - an AttributeGroup to be added.

addAttribute

public void addAttribute(java.lang.String attributeNameOrPath,
                         CopyGroup group)

isCopyGroup

public boolean isCopyGroup()
Overrides:
isCopyGroup in class AttributeGroup

clone

public CopyGroup clone()
Overrides:
clone in class AttributeGroup

getGroup

public CopyGroup getGroup(java.lang.String attributeNameOrPath)
Returns CopyGroup corresponding to the passed (possibly nested) attribute.

Overrides:
getGroup in class AttributeGroup

newGroup

protected CopyGroup newGroup(java.lang.String name,
                             AttributeGroup parent)
Description copied from class: AttributeGroup
Subclass may create different types.

Overrides:
newGroup in class AttributeGroup

EclipseLink 2.2.0, build 'v20110202-r8913' API Reference