- java.lang.Object
-
- org.eclipse.persistence.internal.oxm.NodeValue
-
- Direct Known Subclasses:
CollectionGroupingElementNodeValue,FieldTransformerNodeValue,MappingNodeValue,TypeNodeValue,XMLBinaryDataMappingNodeValue,XMLFragmentCollectionMappingNodeValue
public abstract class NodeValue extends Object
INTERNAL:Purpose: A NodeValue is responsible for performing the unmarshal and marshal operation at a mapping or policy level. The operations are based on a SAX ContextHandler.
Responsibilities:
- Maintain a reference to the owning XPathNode.
- Given a XPathFragment recognize the node to which the mapping should be applied.
- Perform the unmarshal and marshal operation for the given mapping or policy.
-
-
Constructor Summary
Constructors Constructor Description NodeValue()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidattribute(UnmarshalRecord unmarshalRecord, String URI, String localName, String value)INTERNAL:UnmarshalRecordbuildSelfRecord(UnmarshalRecord unmarshalRecord, Attributes atts)INTERNAL:voidendElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord)INTERNAL:voidendElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Object collection)voidendSelfNodeValue(UnmarshalRecord unmarshalRecord, UnmarshalRecord selfRecord, Attributes atts)XPathNodegetXPathNode()booleanisAnyMappingNodeValue()booleanisContainerValue()INTERNAL:booleanisMappingNodeValue()booleanisMarshalNodeValue()booleanisMarshalOnlyNodeValue()INTERNAL: Return whether we ignore this node value when marshalling its parentbooleanisMixedContentNodeValue()INTERNAL: Return true if this is the node value representing mixed content.booleanisNullCapableValue()INTERNAL:booleanisOwningNode(XPathFragment xPathFragment)INTERNAL:booleanisUnmarshalNodeValue()booleanisWhitespaceAware()booleanisWrapperNodeValue()abstract booleanmarshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver)INTERNAL:booleanmarshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, Marshaller marshaller)INTERNAL: This method is no longer required as now MarshalRecord maintains a reference to the XMLMarshaller.booleanmarshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext)INTERNAL: Override this method if the NodeValue is applicable to sequenced objects.booleanmarshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext, XPathFragment rootFragment)INTERNAL:booleanmarshalSelfAttributes(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, Marshaller marshaller)INTERNAL: Marshal any 'self' mapped attributes.abstract booleanmarshalSingleValue(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, Object objectValue, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext)INTERNAL: This method provides an optimization in cases where the value has already been calculated.booleanmarshalSingleValue(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, Object objectValue, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext, XPathFragment rootFragment)INTERNAL: This method provides an optimization in cases where the value has already been calculated.voidsetXPathNode(XPathNode xPathNode)booleanstartElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Attributes atts)INTERNAL:
-
-
-
Field Detail
-
xPathNode
protected XPathNode xPathNode
-
-
Method Detail
-
getXPathNode
public XPathNode getXPathNode()
-
setXPathNode
public void setXPathNode(XPathNode xPathNode)
-
isMarshalOnlyNodeValue
public boolean isMarshalOnlyNodeValue()
INTERNAL: Return whether we ignore this node value when marshalling its parent
-
isOwningNode
public boolean isOwningNode(XPathFragment xPathFragment)
INTERNAL:
-
marshal
public abstract boolean marshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver)
INTERNAL:
-
marshal
public boolean marshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, Marshaller marshaller)
INTERNAL: This method is no longer required as now MarshalRecord maintains a reference to the XMLMarshaller.
-
marshal
public boolean marshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext, XPathFragment rootFragment)
INTERNAL:
-
marshalSingleValue
public abstract boolean marshalSingleValue(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, Object objectValue, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext)
INTERNAL: This method provides an optimization in cases where the value has already been calculated.
-
marshalSingleValue
public boolean marshalSingleValue(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, Object objectValue, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext, XPathFragment rootFragment)
INTERNAL: This method provides an optimization in cases where the value has already been calculated.
-
marshal
public boolean marshal(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, MarshalContext marshalContext)
INTERNAL: Override this method if the NodeValue is applicable to sequenced objects.
-
startElement
public boolean startElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Attributes atts)
INTERNAL:
-
attribute
public void attribute(UnmarshalRecord unmarshalRecord, String URI, String localName, String value)
INTERNAL:
-
endElement
public void endElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord)
INTERNAL:
-
buildSelfRecord
public UnmarshalRecord buildSelfRecord(UnmarshalRecord unmarshalRecord, Attributes atts)
INTERNAL:
-
endSelfNodeValue
public void endSelfNodeValue(UnmarshalRecord unmarshalRecord, UnmarshalRecord selfRecord, Attributes atts)
-
isContainerValue
public boolean isContainerValue()
INTERNAL:- Returns:
- Returns true if the NodeValue implements ContainerValue.
- See Also:
ContainerValue
-
isNullCapableValue
public boolean isNullCapableValue()
INTERNAL:- Returns:
- Returns true if the NodeValue implements NullCapableValue.
- See Also:
NullCapableValue
-
endElement
public void endElement(XPathFragment xPathFragment, UnmarshalRecord unmarshalRecord, Object collection)
-
isUnmarshalNodeValue
public boolean isUnmarshalNodeValue()
-
isMarshalNodeValue
public boolean isMarshalNodeValue()
-
marshalSelfAttributes
public boolean marshalSelfAttributes(XPathFragment xPathFragment, MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, Marshaller marshaller)
INTERNAL: Marshal any 'self' mapped attributes.
-
isMappingNodeValue
public boolean isMappingNodeValue()
-
isWhitespaceAware
public boolean isWhitespaceAware()
-
isAnyMappingNodeValue
public boolean isAnyMappingNodeValue()
-
isMixedContentNodeValue
public boolean isMixedContentNodeValue()
INTERNAL: Return true if this is the node value representing mixed content.
-
isWrapperNodeValue
public boolean isWrapperNodeValue()
-
-