Class MarshalRecord<MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller>
java.lang.Object
org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
org.eclipse.persistence.oxm.record.MarshalRecord<MARSHALLER>
- All Implemented Interfaces:
org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
,org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER, org.eclipse.persistence.internal.oxm.NamespaceResolver> org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
,org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER, org.eclipse.persistence.internal.oxm.NamespaceResolver> org.eclipse.persistence.internal.oxm.record.XMLRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession>
- Direct Known Subclasses:
ContentHandlerRecord
,JsonRecord
,JSONWriterRecord
,NodeRecord
,OutputStreamRecord
,ValidatingMarshalRecord
,WriterRecord
,XMLEventWriterRecord
,XMLStreamWriterRecord
public abstract class MarshalRecord<MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller>
extends org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
implements org.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,org.eclipse.persistence.internal.core.helper.CoreField,MARSHALLER,org.eclipse.persistence.internal.oxm.NamespaceResolver>
A MarshalRecord encapsulates the marshal target.
MarshalRecords are stateful and state changes are triggered by different event notifications, therefore this class is not thread safe.
XML document creation will differ depending on the subclass of MarshalRecord used. For example when NodeRecord is used a child element is created on the openStartElement event, and when the ContentHandlerRecord is used a child element is not created until the closeStartMethod event.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<E>
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
org.eclipse.persistence.internal.oxm.record.XMLRecord.Nil
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
protected org.eclipse.persistence.internal.oxm.XPathFragment
protected static final String
Fields inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
equalNamespaceResolvers, hasCustomNamespaceMapper, marshaller, namespaceAware, namespaceResolver, session
Fields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
DEFAULT_ATTRIBUTE_GROUP, NIL
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
INTERNAL: Add the field-value pair to the document.void
addGroupingElement
(org.eclipse.persistence.internal.oxm.XPathNode xPathNode) INTERNAL: If an XPathNode does not have an associated NodeValue then add it to the MarshalRecord as a grouping element.protected void
addPositionalNodes
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) void
afterContainmentMarshal
(Object parent, Object child) abstract void
Receive notification of an attribute.void
attribute
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, Object value, QName schemaType) Convert the value if necessary and write out the attribute and converted value.abstract void
attribute
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String value) Receive notification of an attribute.void
beforeContainmentMarshal
(Object child) abstract void
Receive notification of character data to be wrapped in a CDATA node.abstract void
characters
(String value) Receive notification of character data.void
characters
(QName schemaType, Object value, String mimeType, boolean isCDATA) Convert the value if necessary and write out the converted value.void
clear()
abstract void
Receive notification that all of the attribute events have occurred for the most recent element that has been started.void
closeStartGroupingElements
(org.eclipse.persistence.internal.oxm.XPathFragment groupingFragment) void
defaultNamespaceDeclaration
(String defaultNamespace) Add the defaultNamespace declarationabstract void
element
(org.eclipse.persistence.internal.oxm.XPathFragment frag) Receive notification of an element.void
emptyAttribute
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be writtenboolean
emptyCollection
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, boolean openGrouping) Handle marshal of an empty collection.void
emptyComplex
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be writtenvoid
emptySimple
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be writtenvoid
This method is used to inform the MarshalRecord that it is done receiving element events that are part of a collection.abstract void
Recieve notification that a document is being ended.abstract void
endElement
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Receive notification that an element is being ended.void
endPrefixMapping
(String prefix) Receive notification that the scope of this namespace declaration has ended.void
endPrefixMappings
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) void
flush()
void
org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<Object>
INTERNALgetDOM()
ArrayList<org.eclipse.persistence.internal.oxm.XPathNode>
INTERNAL: Returns the list of grouping elements currently stored on the MarshalRecordprotected String
getNameForFragment
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) protected byte[]
getPrefixBytes
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) protected String
getPrefixForFragment
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) protected String
getStringForQName
(QName qName) org.eclipse.persistence.internal.oxm.XPathFragment
INTERNAL: The optional fragment used to wrap the text() mappingsgetValueToWrite
(QName schemaType, Object value, org.eclipse.persistence.internal.oxm.ConversionManager conversionManager) boolean
void
marshalWithoutRootElement
(org.eclipse.persistence.internal.oxm.ObjectBuilder treeObjectBuilder, Object object, org.eclipse.persistence.internal.oxm.mappings.Descriptor descriptor, org.eclipse.persistence.internal.oxm.Root root, boolean isXMLRoot) INTERNALvoid
namespaceDeclaration
(String prefix, String namespaceURI) Add the specified namespace declarationvoid
namespaceDeclarations
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: Add the namespace declarations to the XML document.void
nilComplex
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be writtenvoid
nilSimple
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be writtenvoid
Receive notification of a node.abstract void
node
(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver, String qualifiedName, String rootUri) Receive notification of a node.void
openStartElement
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Receive notification that an element is being started.org.eclipse.persistence.internal.oxm.XPathFragment
openStartGroupingElements
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: Trigger that the grouping elements should be written.void
void
predicateAttribute
(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Marshal the attribute for the predicate if one was specified.protected String
processNamespaceResolverForXSIPrefix
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: Private function to process or create an entry in the NamespaceResolver for the xsi prefix.void
INTERNAL: Add the field-value pair to the document.void
removeGroupingElement
(org.eclipse.persistence.internal.oxm.XPathNode xPathNode) INTERNAL:void
setGroupingElement
(ArrayList<org.eclipse.persistence.internal.oxm.XPathNode> elements) INTERNAL: Sets the list of grouping elements to be marshalled on this record.void
setSession
(org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session) void
This method is used to inform the MarshalRecord that the element events it is about to receive are part of a collection.abstract void
startDocument
(String encoding, String version) Receive notification that a document is being started.void
startPrefixMapping
(String prefix, String namespaceURI) Receive notification that a namespace has been declared.void
startPrefixMappings
(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) void
INTERNAL Writes the header, if appropriate.Methods inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, attributeWithoutQName, getConversionManager, getLeafElementType, getMarshaller, getNamespaceResolver, getNamespaceSeparator, getOwningObject, getSession, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setLeafElementType, setMarshaller, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord
addExtraNamespacesToNamespaceResolver, addXsiTypeAndClassIndicatorIfRequired, addXsiTypeAndClassIndicatorIfRequired, getLeafElementType, getMarshaller, getNamespaceResolver, getOwningObject, hasEqualNamespaceResolvers, isNamespaceAware, resolveNamespacePrefix, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementType, setNamespaceResolver, setOwningObject, setXOPPackage, writeXsiTypeAttribute, writeXsiTypeAttribute
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
attributeWithoutQName, hasCustomNamespaceMapper, isXOPPackage, removeExtraNamespacesFromNamespaceResolver, setLeafElementType, setMarshaller
Methods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
getConversionManager, getNamespaceSeparator, getSession
-
Field Details
-
textWrapperFragment
protected org.eclipse.persistence.internal.oxm.XPathFragment textWrapperFragment -
COLON_W_SCHEMA_NIL_ATTRIBUTE
- See Also:
-
TRUE
- See Also:
-
-
Constructor Details
-
MarshalRecord
public MarshalRecord()
-
-
Method Details
-
forceValueWrapper
public void forceValueWrapper()- Specified by:
forceValueWrapper
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
getPositionalNodes
-
getLocalName
-
getNamespaceURI
-
clear
public void clear() -
getDocument
-
getDOM
- Specified by:
getDOM
in interfaceorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Overrides:
getDOM
in classorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
addGroupingElement
public void addGroupingElement(org.eclipse.persistence.internal.oxm.XPathNode xPathNode) INTERNAL: If an XPathNode does not have an associated NodeValue then add it to the MarshalRecord as a grouping element.- Specified by:
addGroupingElement
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
xPathNode
-
-
removeGroupingElement
public void removeGroupingElement(org.eclipse.persistence.internal.oxm.XPathNode xPathNode) INTERNAL:- Specified by:
removeGroupingElement
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
xPathNode
-
-
transformToXML
-
setSession
public void setSession(org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session) - Specified by:
setSession
in interfaceorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Overrides:
setSession
in classorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
add
INTERNAL: Add the field-value pair to the document.- Specified by:
add
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
put
INTERNAL: Add the field-value pair to the document.- Specified by:
put
in interfaceorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Overrides:
put
in classorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
namespaceDeclarations
public void namespaceDeclarations(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: Add the namespace declarations to the XML document.- Parameters:
namespaceResolver
- The NamespaceResolver contains the namespace prefix and URI pairings that need to be declared.
-
emptyCollection
public boolean emptyCollection(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, boolean openGrouping) Handle marshal of an empty collection.- Specified by:
emptyCollection
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
xPathFragment
-namespaceResolver
-openGrouping
- if grouping elements should be marshalled for empty collections- Returns:
-
namespaceDeclaration
Add the specified namespace declaration- Specified by:
namespaceDeclaration
in interfaceorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Specified by:
namespaceDeclaration
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Overrides:
namespaceDeclaration
in classorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
prefix
-namespaceURI
-
-
defaultNamespaceDeclaration
Add the defaultNamespace declaration- Parameters:
defaultNamespace
-
-
startDocument
Receive notification that a document is being started.- Parameters:
encoding
- The XML document will be encoded using this encoding.version
- This specifies the version of XML.
-
writeHeader
public void writeHeader()INTERNAL Writes the header, if appropriate. -
endDocument
public abstract void endDocument()Recieve notification that a document is being ended. -
marshalWithoutRootElement
public void marshalWithoutRootElement(org.eclipse.persistence.internal.oxm.ObjectBuilder treeObjectBuilder, Object object, org.eclipse.persistence.internal.oxm.mappings.Descriptor descriptor, org.eclipse.persistence.internal.oxm.Root root, boolean isXMLRoot) INTERNAL -
startPrefixMapping
Receive notification that a namespace has been declared.- Specified by:
startPrefixMapping
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
prefix
- The namespace prefix.namespaceURI
- The namespace URI.
-
startPrefixMappings
public void startPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) -
endPrefixMapping
Receive notification that the scope of this namespace declaration has ended.- Specified by:
endPrefixMapping
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
prefix
- The namespace prefix.
-
endPrefixMappings
public void endPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) -
openStartElement
public void openStartElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Receive notification that an element is being started.- Specified by:
openStartElement
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
xPathFragment
- The XPathFragment contains the name and prefix information about the XML element being ended.namespaceResolver
- The NamespaceResolver can be used to resolve the namespace URI for the namespace prefix held by the XPathFragment (if required).
-
element
public abstract void element(org.eclipse.persistence.internal.oxm.XPathFragment frag) Receive notification of an element.- Parameters:
frag
- The XPathFragment of the element
-
attribute
public abstract void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, String value) Receive notification of an attribute.- Specified by:
attribute
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
xPathFragment
- The XPathFragment contains the name and prefix information about the XML element being ended.namespaceResolver
- The NamespaceResolver can be used to resolve the namespace URI for the namespace prefix held by the XPathFragment (if required).value
- This is the complete value for the attribute.
-
attribute
Receive notification of an attribute.- Specified by:
attribute
in interfaceorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Specified by:
attribute
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Overrides:
attribute
in classorg.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
namespaceURI
- The namespace URI, if the attribute is not namespace qualified the value of this parameter wil be null.localName
- The local name of the attribute.qName
- The qualified name of the attribute.value
- This is the complete value for the attribute.
-
closeStartElement
public abstract void closeStartElement()Receive notification that all of the attribute events have occurred for the most recent element that has been started.- Specified by:
closeStartElement
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
endElement
public abstract void endElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Receive notification that an element is being ended.- Specified by:
endElement
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
xPathFragment
- The XPathFragment contains the name and prefix information about the XML element being ended.namespaceResolver
- The NamespaceResolver can be used to resolve the namespace URI for the namespace prefix held by the XPathFragment (if required).
-
characters
Receive notification of character data.- Specified by:
characters
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
value
- This is the entire value of the text node.
-
attribute
public void attribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, Object value, QName schemaType) Convert the value if necessary and write out the attribute and converted value.- Specified by:
attribute
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
characters
Convert the value if necessary and write out the converted value.- Specified by:
characters
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
getValueToWrite
public String getValueToWrite(QName schemaType, Object value, org.eclipse.persistence.internal.oxm.ConversionManager conversionManager) - Specified by:
getValueToWrite
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
getStringForQName
-
cdata
Receive notification of character data to be wrapped in a CDATA node.- Specified by:
cdata
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
value
- This is the value of the text to be wrapped
-
node
Receive notification of a node.- Specified by:
node
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
node
- The Node to be added to the documentresolver
- The NamespaceResolver can be used to resolve the namespace URI/prefix of the node
-
node
public abstract void node(Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver, String qualifiedName, String rootUri) Receive notification of a node.- Parameters:
node
- The Node to be added to the documentresolver
- The NamespaceResolver can be used to resolve thequalifiedName
- replacement root name for the noderootUri
- replacement root namespace for the node namespace URI/prefix of the node
-
openStartGroupingElements
public org.eclipse.persistence.internal.oxm.XPathFragment openStartGroupingElements(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: Trigger that the grouping elements should be written. This is normally done when something like a mapping has a non-null value that is marshalled.- Specified by:
openStartGroupingElements
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - Parameters:
namespaceResolver
- The NamespaceResolver can be used to resolve the namespace URI for the namespace prefix held by the XPathFragment (if required).
-
closeStartGroupingElements
public void closeStartGroupingElements(org.eclipse.persistence.internal.oxm.XPathFragment groupingFragment) - Specified by:
closeStartGroupingElements
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
addPositionalNodes
protected void addPositionalNodes(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) -
beforeContainmentMarshal
- Specified by:
beforeContainmentMarshal
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
afterContainmentMarshal
- Specified by:
afterContainmentMarshal
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
getGroupingElements
INTERNAL: Returns the list of grouping elements currently stored on the MarshalRecord- Specified by:
getGroupingElements
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
setGroupingElement
INTERNAL: Sets the list of grouping elements to be marshalled on this record.- Specified by:
setGroupingElement
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
predicateAttribute
public void predicateAttribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Marshal the attribute for the predicate if one was specified.- Specified by:
predicateAttribute
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
startCollection
public void startCollection()This method is used to inform the MarshalRecord that the element events it is about to receive are part of a collection.- Specified by:
startCollection
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - See Also:
-
emptyAttribute
public void emptyAttribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be written- Specified by:
emptyAttribute
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
emptyComplex
public void emptyComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be written- Specified by:
emptyComplex
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
emptySimple
public void emptySimple(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be written- Specified by:
emptySimple
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
nilSimple
public void nilSimple(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be written- Specified by:
nilSimple
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
nilComplex
public void nilComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) Used when an nil attribute should be written- Specified by:
nilComplex
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
endCollection
public void endCollection()This method is used to inform the MarshalRecord that it is done receiving element events that are part of a collection.- Specified by:
endCollection
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver> - See Also:
-
processNamespaceResolverForXSIPrefix
protected String processNamespaceResolverForXSIPrefix(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver) INTERNAL: Private function to process or create an entry in the NamespaceResolver for the xsi prefix.- Parameters:
namespaceResolver
-- Returns:
- xsi prefix
-
getTextWrapperFragment
public org.eclipse.persistence.internal.oxm.XPathFragment getTextWrapperFragment()INTERNAL: The optional fragment used to wrap the text() mappings- Specified by:
getTextWrapperFragment
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
getNameForFragment
protected String getNameForFragment(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) -
getPrefixBytes
protected byte[] getPrefixBytes(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) -
getPrefixForFragment
protected String getPrefixForFragment(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment) -
getCycleDetectionStack
public org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<Object> getCycleDetectionStack()INTERNAL- Specified by:
getCycleDetectionStack
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
isWrapperAsCollectionName
public boolean isWrapperAsCollectionName()- Specified by:
isWrapperAsCollectionName
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
getCurrentAttributeGroup
- Specified by:
getCurrentAttributeGroup
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
pushAttributeGroup
- Specified by:
pushAttributeGroup
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
popAttributeGroup
public void popAttributeGroup()- Specified by:
popAttributeGroup
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-
flush
public void flush()- Specified by:
flush
in interfaceorg.eclipse.persistence.internal.oxm.record.MarshalRecord<org.eclipse.persistence.internal.core.sessions.CoreAbstractSession,
org.eclipse.persistence.internal.core.helper.CoreField, MARSHALLER extends org.eclipse.persistence.internal.oxm.Marshaller, org.eclipse.persistence.internal.oxm.NamespaceResolver>
-