Class CoreAttributeGroup<ATTRIBUTE_ITEM extends CoreAttributeItem,DESCRIPTOR extends CoreDescriptor>
- java.lang.Object
-
- org.eclipse.persistence.core.queries.CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR>
-
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
AttributeGroup
public class CoreAttributeGroup<ATTRIBUTE_ITEM extends CoreAttributeItem,DESCRIPTOR extends CoreDescriptor> extends Object implements Serializable, Cloneable
INTERNAL Purpose: A generic super class for AttributeGroup and other subclasses- Since:
- EclipseLink 2.5
- Author:
- Matt MacIvor
- See Also:
AttributeGroup, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CoreAttributeGroup()CoreAttributeGroup(String name)CoreAttributeGroup(String name, Class type, boolean isValidated)INTERNAL: This constructer is to only be used by EclipseLink internallyCoreAttributeGroup(String name, String type, boolean isValidated)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAttribute(String attributeNameOrPath)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.voidaddAttribute(String attributeNameOrPath, Collection<? extends CoreAttributeGroup> groups)Add an attribute and the corresponding list of AttributeGroups.voidaddAttribute(String attributeNameOrPath, CoreAttributeGroup 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.voidaddAttributeKey(String attributeNameOrPath, CoreAttributeGroup group)Add a basic attribute or nested attribute with each String representing the key of an attribute of type Map on the path to what needs to be included in the AttributeGroup.voidaddAttributes(Collection<String> attrOrPaths)Add a set of attributes to the group.CoreAttributeGroupclone()CoreAttributeGroupclone(Map<CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR>,CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR>> cloneMap)INTERNAL: This method is used internally in the clone processing.booleancontainsAttribute(String attributeNameOrPath)Return if the attribute is defined in the group.booleancontainsAttributeInternal(String attributeName)INTERNAL: Return if the attribute is defined in the group.voidconvertClassNamesToClasses(ClassLoader classLoader)INTERNAL: Convert all the class-name-based settings in this Descriptor to actual class-based settings.booleanequals(Object obj)CoreAttributeGroupfindGroup(DESCRIPTOR type)Map<String,ATTRIBUTE_ITEM>getAllItems()INTERNAL:Set<String>getAttributeNames()CoreAttributeGroupgetGroup(String attributeNameOrPath)Returns AttributeGroup corresponding to the passed (possibly nested) attribute.ATTRIBUTE_ITEMgetItem(String attributeNameOrPath)INTERNAL: Lookup theAttributeItemfor the provided attribute name or path.Map<String,ATTRIBUTE_ITEM>getItems()INTERNAL:StringgetName()Map<Object,CoreAttributeGroup>getSubClassGroups()INTERNAL:ClassgetType()StringgetTypeName()INTERNAL: Returns the name of the type this group representsbooleanhasInheritance()Indicates whether this group is part of an inheritance hierarchybooleanhasItems()Indicates whether the group has at least one attribute.voidinsertSubClass(CoreAttributeGroup group)INTERNAL: This method will insert the group into the entity hierarchy just below this AttributeGroup.booleanisConcurrent()INTERNAL: Only LoadGroups allow concurrency.booleanisCopyGroup()INTERNAL: This method is used internally when converting to a copy group.booleanisFetchGroup()booleanisLoadGroup()booleanisSupersetOf(CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR> anotherGroup)Return true if this AttributeGroup is a super-set of the passed in AttributeGroup.booleanisValidated()INTERNAL:voidremoveAttribute(String attributeNameOrPath)Remove an attribute from the group.voidsetAllSubclasses(Map<Object,CoreAttributeGroup> subclasses)INTERNAL:voidsetAttributeNames(Set attributeNames)voidsetName(String name)StringtoString()
-
-
-
Constructor Detail
-
CoreAttributeGroup
public CoreAttributeGroup(String name)
-
CoreAttributeGroup
public CoreAttributeGroup(String name, Class type, boolean isValidated)
INTERNAL: This constructer is to only be used by EclipseLink internally- Parameters:
name-type-
-
CoreAttributeGroup
public CoreAttributeGroup()
-
-
Method Detail
-
addAttribute
public void addAttribute(String attributeNameOrPath)
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");
group.addAttribute("manager.address");- Parameters:
attributeNameOrPath- A simple attribute, array or attributes forming a path
-
addAttribute
public void addAttribute(String attributeNameOrPath, Collection<? extends CoreAttributeGroup> groups)
Add an attribute and the corresponding list of AttributeGroups. Multiple groups are added in the case of inheritance- Parameters:
attributeNameOrPath- A simple attribute, array or attributes forming a pathgroups- - a collection of AttributeGroups to be added.
-
addAttribute
public void addAttribute(String attributeNameOrPath, CoreAttributeGroup 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.Example:
group.addAttribute("firstName", group1);Note that existing group corresponding to attributeNameOrPath will be overridden with the passed group.
group.addAttribute("manager.address", group2);- Parameters:
attributeNameOrPath- A simple attribute, array or attributes forming a pathgroup- - an AttributeGroup to be added.
-
addAttributeKey
public void addAttributeKey(String attributeNameOrPath, CoreAttributeGroup group)
Add a basic attribute or nested attribute with each String representing the key of an attribute of type Map on the path to what needs to be included in the AttributeGroup.Example:
group.addAttribute("firstName", group1);Note that existing group corresponding to attributeNameOrPath will be overridden with the passed group.
group.addAttribute("manager.address", group2);- Parameters:
attributeNameOrPath- A simple attribute, array or attributes forming a path to a Map keygroup- - an AttributeGroup to be added.
-
addAttributes
public void addAttributes(Collection<String> attrOrPaths)
Add a set of attributes to the group.
-
clone
public CoreAttributeGroup clone()
-
clone
public CoreAttributeGroup clone(Map<CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR>,CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR>> cloneMap)
INTERNAL: This method is used internally in the clone processing.- Parameters:
cloneMap-- Returns:
-
containsAttribute
public boolean containsAttribute(String attributeNameOrPath)
Return if the attribute is defined in the group.
-
containsAttributeInternal
public boolean containsAttributeInternal(String attributeName)
INTERNAL: Return if the attribute is defined in the group. Only local attribute names are checked.
-
convertClassNamesToClasses
public void convertClassNamesToClasses(ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings in this Descriptor to actual class-based settings. This method is used when converting a project that has been built with class names to a project with classes.- Parameters:
classLoader-
-
findGroup
public CoreAttributeGroup findGroup(DESCRIPTOR type)
-
getAllItems
public Map<String,ATTRIBUTE_ITEM> getAllItems()
INTERNAL:
-
getGroup
public CoreAttributeGroup getGroup(String attributeNameOrPath)
Returns AttributeGroup corresponding to the passed (possibly nested) attribute.
-
getItem
public ATTRIBUTE_ITEM getItem(String attributeNameOrPath)
INTERNAL: Lookup theAttributeItemfor the provided attribute name or path.- Returns:
- item or null
- Throws:
IllegalArgumentException- if name is not valid attribute name or path
-
getItems
public Map<String,ATTRIBUTE_ITEM> getItems()
INTERNAL:
-
getName
public String getName()
-
getSubClassGroups
public Map<Object,CoreAttributeGroup> getSubClassGroups()
INTERNAL:
-
getType
public Class getType()
-
getTypeName
public String getTypeName()
INTERNAL: Returns the name of the type this group represents
-
hasInheritance
public boolean hasInheritance()
Indicates whether this group is part of an inheritance hierarchy
-
hasItems
public boolean hasItems()
Indicates whether the group has at least one attribute.
-
insertSubClass
public void insertSubClass(CoreAttributeGroup group)
INTERNAL: This method will insert the group into the entity hierarchy just below this AttributeGroup.- Parameters:
group-
-
isConcurrent
public boolean isConcurrent()
INTERNAL: Only LoadGroups allow concurrency.
-
isCopyGroup
public boolean isCopyGroup()
INTERNAL: This method is used internally when converting to a copy group.- Returns:
-
isFetchGroup
public boolean isFetchGroup()
-
isLoadGroup
public boolean isLoadGroup()
-
isSupersetOf
public boolean isSupersetOf(CoreAttributeGroup<ATTRIBUTE_ITEM,DESCRIPTOR> anotherGroup)
Return true if this AttributeGroup is a super-set of the passed in AttributeGroup.
-
isValidated
public boolean isValidated()
INTERNAL:- Returns:
- the isValidated
-
removeAttribute
public void removeAttribute(String attributeNameOrPath)
Remove an attribute from the group.
-
setAllSubclasses
public void setAllSubclasses(Map<Object,CoreAttributeGroup> subclasses)
INTERNAL:
-
setAttributeNames
public void setAttributeNames(Set attributeNames)
-
setName
public void setName(String name)
-
-