Module org.eclipse.persistence.core
Class XMLChoiceCollectionMappingUnmarshalNodeValue
java.lang.Object
org.eclipse.persistence.internal.oxm.NodeValue
org.eclipse.persistence.internal.oxm.MappingNodeValue
org.eclipse.persistence.internal.oxm.XMLChoiceCollectionMappingUnmarshalNodeValue
- All Implemented Interfaces:
ContainerValue
public class XMLChoiceCollectionMappingUnmarshalNodeValue
extends MappingNodeValue
implements ContainerValue
INTERNAL:
Purpose: This is how the XML Choice Collection Mapping is handled when used with the TreeObjectBuilder.
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionXMLChoiceCollectionMappingUnmarshalNodeValue(ChoiceCollectionMapping mapping, Field xmlField) XMLChoiceCollectionMappingUnmarshalNodeValue(ChoiceCollectionMapping mapping, Field xmlField, Mapping nestedMapping) -
Method Summary
Modifier and TypeMethodDescriptionvoidattribute(UnmarshalRecord unmarshalRecord, String URI, String localName, String value) The underlying choice element node value will handle attributes.voidendElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord) INTERNAL:intgetIndex()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.booleanReturn true if the original container on the object should be used if present.booleanINTERNAL:booleanINTERNAL Return true if an empty container should be set on the object if there is no presence of the collection in the XML document.booleanbooleanINTERNAL: Return true if this is the node value representing mixed content.booleanisOwningNode(XPathFragment xPathFragment) INTERNAL:booleanbooleanFor 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.booleanmarshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver) INTERNAL:booleanmarshalSingleValue(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.voidsetContainerInstance(Object object, Object containerInstance) voidvoidsetFieldToNodeValues(Map<Field, NodeValue> fieldToNodeValues) voidsetIndex(int index) INTERNAL: Used to track the index of the corresponding containerInstance in the containerInstances Object[] on UnmarshalRecordvoidsetIsMixedNodeValue(boolean isMixed) INTERNAL: Indicates that this is the choice mapping node value that represents the mixed content.voidsetNullValue(Object object, CoreSession session) voidsetXPathNode(XPathNode xPathNode) booleanstartElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Attributes atts) INTERNAL:Methods inherited from class org.eclipse.persistence.internal.oxm.MappingNodeValue
addTypeAttribute, isMappingNodeValue, updateNamespacesMethods inherited from class org.eclipse.persistence.internal.oxm.NodeValue
buildSelfRecord, endElement, endSelfNodeValue, getXPathNode, isAnyMappingNodeValue, isMarshalOnlyNodeValue, isNullCapableValue, isWhitespaceAware, isWrapperNodeValue, marshal, marshal, marshal, marshalSelfAttributes, marshalSingleValue
-
Constructor Details
-
XMLChoiceCollectionMappingUnmarshalNodeValue
public XMLChoiceCollectionMappingUnmarshalNodeValue(ChoiceCollectionMapping mapping, Field xmlField) -
XMLChoiceCollectionMappingUnmarshalNodeValue
public XMLChoiceCollectionMappingUnmarshalNodeValue(ChoiceCollectionMapping mapping, Field xmlField, Mapping nestedMapping)
-
-
Method Details
-
isOwningNode
Description copied from class:NodeValueINTERNAL:- Overrides:
isOwningNodein classNodeValue
-
setContainerNodeValue
-
setNullValue
-
endElement
Description copied from class:NodeValueINTERNAL:- Overrides:
endElementin classNodeValue
-
startElement
public boolean startElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Attributes atts) Description copied from class:NodeValueINTERNAL:- Overrides:
startElementin classNodeValue
-
setXPathNode
- Overrides:
setXPathNodein classNodeValue
-
getContainerInstance
- Specified by:
getContainerInstancein interfaceContainerValue
-
setContainerInstance
- Specified by:
setContainerInstancein interfaceContainerValue
-
getContainerPolicy
- Specified by:
getContainerPolicyin interfaceContainerValue
-
isContainerValue
public boolean isContainerValue()Description copied from class:NodeValueINTERNAL:- Overrides:
isContainerValuein 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:NodeValueINTERNAL: This method provides an optimization in cases where the value has already been calculated.- Specified by:
marshalSingleValuein interfaceContainerValue- Specified by:
marshalSingleValuein classNodeValue
-
marshal
public boolean marshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver) Description copied from class:NodeValueINTERNAL: -
getChoiceElementNodeValue
-
getChoiceElementMarshalNodeValue
-
isUnmarshalNodeValue
public boolean isUnmarshalNodeValue()- Overrides:
isUnmarshalNodeValuein classNodeValue
-
isWrapperAllowedAsCollectionName
public boolean isWrapperAllowedAsCollectionName()Description copied from interface:ContainerValueFor 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:
isWrapperAllowedAsCollectionNamein interfaceContainerValue
-
isMarshalNodeValue
public boolean isMarshalNodeValue()- Overrides:
isMarshalNodeValuein classNodeValue
-
getMapping
Description copied from class:MappingNodeValueReturn the mapping associated with this node value.- Specified by:
getMappingin interfaceContainerValue- Specified by:
getMappingin classMappingNodeValue
-
getReuseContainer
public boolean getReuseContainer()Description copied from interface:ContainerValueReturn 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:
getReuseContainerin interfaceContainerValue
-
setFieldToNodeValues
-
getAllNodeValues
-
attribute
The underlying choice element node value will handle attributes. -
setIsMixedNodeValue
public void setIsMixedNodeValue(boolean isMixed) INTERNAL: Indicates that this is the choice mapping node value that represents the mixed content. -
isMixedContentNodeValue
public boolean isMixedContentNodeValue()INTERNAL: Return true if this is the node value representing mixed content.- Overrides:
isMixedContentNodeValuein classNodeValue
-
setIndex
public void setIndex(int index) INTERNAL: Used to track the index of the corresponding containerInstance in the containerInstances Object[] on UnmarshalRecord- Specified by:
setIndexin 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:
getIndexin 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:
isDefaultEmptyContainerin interfaceContainerValue- Since:
- EclipseLink 2.3.3
-