Module org.eclipse.persistence.core
Class XMLCompositeCollectionMappingNodeValue
java.lang.Object
org.eclipse.persistence.internal.oxm.NodeValue
org.eclipse.persistence.internal.oxm.MappingNodeValue
org.eclipse.persistence.internal.oxm.XMLRelationshipMappingNodeValue
org.eclipse.persistence.internal.oxm.XMLCompositeCollectionMappingNodeValue
- All Implemented Interfaces:
ContainerValue
public class XMLCompositeCollectionMappingNodeValue
extends XMLRelationshipMappingNodeValue
implements ContainerValue
INTERNAL:
Purpose: This is how the XML Composite Collection Mapping is handled when used with the TreeObjectBuilder.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionXMLCompositeCollectionMappingNodeValue
(CompositeCollectionMapping xmlCompositeCollectionMapping) XMLCompositeCollectionMappingNodeValue
(CompositeCollectionMapping xmlCompositeCollectionMapping, boolean isInverse) -
Method Summary
Modifier and TypeMethodDescriptionvoid
endElement
(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord) INTERNAL:void
endElement
(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Object collection) int
getIndex()
INTERNAL: Set to track the index of the corresponding containerInstance in the containerInstances Object[] on UnmarshalRecord Set during TreeObjectBuilder initializationReturn the mapping associated with this node value.boolean
Return true if the original container on the object should be used if present.boolean
INTERNAL:boolean
INTERNAL Return true if an empty container should be set on the object if there is no presence of the collection in the XML document.boolean
For media types that provide a native representation of collections (such as JSON arrays), can the representation be simplified so that the grouping element can be used as the collection name.boolean
marshal
(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver) INTERNAL:boolean
marshalSingleValue
(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, Object value, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext) INTERNAL: This method provides an optimization in cases where the value has already been calculated.void
setContainerInstance
(Object object, Object containerInstance) void
setIndex
(int index) INTERNAL: Used to track the index of the corresponding containerInstance in the containerInstances Object[] on UnmarshalRecordprotected void
setOrAddAttributeValue
(UnmarshalRecord unmarshalRecord, Object value, XPathFragment xPathFragment, Object collection) boolean
startElement
(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Attributes atts) INTERNAL:Methods inherited from class org.eclipse.persistence.internal.oxm.XMLRelationshipMappingNodeValue
addTypeAttribute, endElementProcessText, findReferenceDescriptor, getClassForQName, processChild, setOrAddAttributeValueForKeepAsElement, setupHandlerForKeepAsElementPolicy, writeExtraNamespaces
Methods inherited from class org.eclipse.persistence.internal.oxm.MappingNodeValue
addTypeAttribute, isMappingNodeValue, updateNamespaces
Methods inherited from class org.eclipse.persistence.internal.oxm.NodeValue
attribute, buildSelfRecord, endSelfNodeValue, getXPathNode, isAnyMappingNodeValue, isMarshalNodeValue, isMarshalOnlyNodeValue, isMixedContentNodeValue, isNullCapableValue, isOwningNode, isUnmarshalNodeValue, isWhitespaceAware, isWrapperNodeValue, marshal, marshal, marshal, marshalSelfAttributes, marshalSingleValue, setXPathNode
-
Constructor Details
-
XMLCompositeCollectionMappingNodeValue
public XMLCompositeCollectionMappingNodeValue(CompositeCollectionMapping xmlCompositeCollectionMapping) -
XMLCompositeCollectionMappingNodeValue
public XMLCompositeCollectionMappingNodeValue(CompositeCollectionMapping xmlCompositeCollectionMapping, boolean isInverse)
-
-
Method Details
-
marshal
public boolean marshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver) Description copied from class:NodeValue
INTERNAL: -
startElement
public boolean startElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Attributes atts) Description copied from class:NodeValue
INTERNAL:- Overrides:
startElement
in classNodeValue
-
endElement
Description copied from class:NodeValue
INTERNAL:- Overrides:
endElement
in classNodeValue
-
endElement
public void endElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Object collection) - Overrides:
endElement
in classNodeValue
-
getContainerInstance
- Specified by:
getContainerInstance
in interfaceContainerValue
-
setContainerInstance
- Specified by:
setContainerInstance
in interfaceContainerValue
-
getContainerPolicy
- Specified by:
getContainerPolicy
in interfaceContainerValue
-
isContainerValue
public boolean isContainerValue()Description copied from class:NodeValue
INTERNAL:- Overrides:
isContainerValue
in classNodeValue
- Returns:
- Returns true if the NodeValue implements ContainerValue.
- See Also:
-
marshalSingleValue
public boolean marshalSingleValue(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, Object value, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext) Description copied from class:NodeValue
INTERNAL: This method provides an optimization in cases where the value has already been calculated.- Specified by:
marshalSingleValue
in interfaceContainerValue
- Specified by:
marshalSingleValue
in classNodeValue
-
getMapping
Description copied from class:MappingNodeValue
Return the mapping associated with this node value.- Specified by:
getMapping
in interfaceContainerValue
- Specified by:
getMapping
in classMappingNodeValue
-
setOrAddAttributeValue
protected void setOrAddAttributeValue(UnmarshalRecord unmarshalRecord, Object value, XPathFragment xPathFragment, Object collection) - Specified by:
setOrAddAttributeValue
in classXMLRelationshipMappingNodeValue
-
getReuseContainer
public boolean getReuseContainer()Description copied from interface:ContainerValue
Return true if the original container on the object should be used if present. If it is not present then the container policy will be used to create the container.- Specified by:
getReuseContainer
in interfaceContainerValue
-
setIndex
public void setIndex(int index) INTERNAL: Used to track the index of the corresponding containerInstance in the containerInstances Object[] on UnmarshalRecord- Specified by:
setIndex
in interfaceContainerValue
-
getIndex
public int getIndex()INTERNAL: Set to track the index of the corresponding containerInstance in the containerInstances Object[] on UnmarshalRecord Set during TreeObjectBuilder initialization- Specified by:
getIndex
in interfaceContainerValue
-
isDefaultEmptyContainer
public boolean isDefaultEmptyContainer()INTERNAL Return true if an empty container should be set on the object if there is no presence of the collection in the XML document.- Specified by:
isDefaultEmptyContainer
in interfaceContainerValue
- Since:
- EclipseLink 2.3.3
-
isWrapperAllowedAsCollectionName
public boolean isWrapperAllowedAsCollectionName()Description copied from interface:ContainerValue
For media types that provide a native representation of collections (such as JSON arrays), can the representation be simplified so that the grouping element can be used as the collection name.- Specified by:
isWrapperAllowedAsCollectionName
in interfaceContainerValue
-