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:
XMLMarshaller
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringCOLON_W_SCHEMA_NIL_ATTRIBUTEprotected org.eclipse.persistence.internal.oxm.XPathFragmenttextWrapperFragmentprotected static java.lang.StringTRUE
-
Constructor Summary
Constructors Constructor Description MarshalRecord()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidadd(org.eclipse.persistence.internal.core.helper.CoreField key, java.lang.Object value)INTERNAL: Add the field-value pair to the document.voidaddGroupingElement(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 voidaddPositionalNodes(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)voidafterContainmentMarshal(java.lang.Object parent, java.lang.Object child)abstract voidattribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, java.lang.String value)Receive notification of an attribute.voidattribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.Object value, javax.xml.namespace.QName schemaType)Convert the value if necessary and write out the attribute and converted value.abstract voidattribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, java.lang.String value)Receive notification of an attribute.voidbeforeContainmentMarshal(java.lang.Object child)abstract voidcdata(java.lang.String value)Receive notification of character data to be wrapped in a CDATA node.abstract voidcharacters(java.lang.String value)Receive notification of character data.voidcharacters(javax.xml.namespace.QName schemaType, java.lang.Object value, java.lang.String mimeType, boolean isCDATA)Convert the value if necessary and write out the converted value.voidclear()abstract voidcloseStartElement()Receive notification that all of the attribute events have occurred for the most recent element that has been started.voidcloseStartGroupingElements(org.eclipse.persistence.internal.oxm.XPathFragment groupingFragment)voiddefaultNamespaceDeclaration(java.lang.String defaultNamespace)Add the defaultNamespace declarationabstract voidelement(org.eclipse.persistence.internal.oxm.XPathFragment frag)Receive notification of an element.voidemptyAttribute(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)Used when an nil attribute should be writtenbooleanemptyCollection(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, boolean openGrouping)Handle marshal of an empty collection.voidemptyComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)Used when an nil attribute should be writtenvoidemptySimple(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)Used when an nil attribute should be writtenvoidendCollection()This method is used to inform the MarshalRecord that it is done receiving element events that are part of a collection.abstract voidendDocument()Recieve notification that a document is being ended.abstract voidendElement(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)Receive notification that an element is being ended.voidendPrefixMapping(java.lang.String prefix)Receive notification that the scope of this namespace declaration has ended.voidendPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)voidflush()voidforceValueWrapper()CoreAttributeGroupgetCurrentAttributeGroup()org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<java.lang.Object>getCycleDetectionStack()INTERNALorg.w3c.dom.DocumentgetDocument()org.w3c.dom.NodegetDOM()java.util.ArrayList<org.eclipse.persistence.internal.oxm.XPathNode>getGroupingElements()INTERNAL: Returns the list of grouping elements currently stored on the MarshalRecordjava.lang.StringgetLocalName()protected java.lang.StringgetNameForFragment(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)java.lang.StringgetNamespaceURI()java.util.HashMapgetPositionalNodes()protected byte[]getPrefixBytes(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)protected java.lang.StringgetPrefixForFragment(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)protected java.lang.StringgetStringForQName(javax.xml.namespace.QName qName)org.eclipse.persistence.internal.oxm.XPathFragmentgetTextWrapperFragment()INTERNAL: The optional fragment used to wrap the text() mappingsjava.lang.StringgetValueToWrite(javax.xml.namespace.QName schemaType, java.lang.Object value, org.eclipse.persistence.internal.oxm.ConversionManager conversionManager)booleanisWrapperAsCollectionName()voidmarshalWithoutRootElement(org.eclipse.persistence.internal.oxm.ObjectBuilder treeObjectBuilder, java.lang.Object object, org.eclipse.persistence.internal.oxm.mappings.Descriptor descriptor, org.eclipse.persistence.internal.oxm.Root root, boolean isXMLRoot)INTERNALvoidnamespaceDeclaration(java.lang.String prefix, java.lang.String namespaceURI)Add the specified namespace declarationvoidnamespaceDeclarations(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)INTERNAL: Add the namespace declarations to the XML document.voidnilComplex(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)Used when an nil attribute should be writtenvoidnilSimple(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)Used when an nil attribute should be writtenvoidnode(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver)Receive notification of a node.abstract voidnode(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver, java.lang.String qualifiedName, java.lang.String rootUri)Receive notification of a node.voidopenStartElement(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.XPathFragmentopenStartGroupingElements(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)INTERNAL: Trigger that the grouping elements should be written.voidpopAttributeGroup()voidpredicateAttribute(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 java.lang.StringprocessNamespaceResolverForXSIPrefix(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)INTERNAL: Private function to process or create an entry in the NamespaceResolver for the xsi prefix.voidpushAttributeGroup(CoreAttributeGroup group)java.lang.Objectput(org.eclipse.persistence.internal.core.helper.CoreField key, java.lang.Object value)INTERNAL: Add the field-value pair to the document.voidremoveGroupingElement(org.eclipse.persistence.internal.oxm.XPathNode xPathNode)INTERNAL:voidsetGroupingElement(java.util.ArrayList<org.eclipse.persistence.internal.oxm.XPathNode> elements)INTERNAL: Sets the list of grouping elements to be marshalled on this record.voidsetSession(org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session)voidstartCollection()This method is used to inform the MarshalRecord that the element events it is about to receive are part of a collection.abstract voidstartDocument(java.lang.String encoding, java.lang.String version)Receive notification that a document is being started.voidstartPrefixMapping(java.lang.String prefix, java.lang.String namespaceURI)Receive notification that a namespace has been declared.voidstartPrefixMappings(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)java.lang.StringtransformToXML()voidwriteHeader()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
-
-
-
-
Field Detail
-
textWrapperFragment
protected org.eclipse.persistence.internal.oxm.XPathFragment textWrapperFragment
-
COLON_W_SCHEMA_NIL_ATTRIBUTE
protected static final java.lang.String COLON_W_SCHEMA_NIL_ATTRIBUTE
- See Also:
- Constant Field Values
-
TRUE
protected static final java.lang.String TRUE
- See Also:
- Constant Field Values
-
-
Method Detail
-
forceValueWrapper
public void forceValueWrapper()
- Specified by:
forceValueWrapperin 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
public java.util.HashMap getPositionalNodes()
-
getLocalName
public java.lang.String getLocalName()
-
getNamespaceURI
public java.lang.String getNamespaceURI()
-
clear
public void clear()
-
getDocument
public org.w3c.dom.Document getDocument()
-
getDOM
public org.w3c.dom.Node getDOM()
- Specified by:
getDOMin 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:
getDOMin 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:
addGroupingElementin 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:
removeGroupingElementin 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
public java.lang.String transformToXML()
-
setSession
public void setSession(org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session)
- Specified by:
setSessionin 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:
setSessionin 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
public void add(org.eclipse.persistence.internal.core.helper.CoreField key, java.lang.Object value)INTERNAL: Add the field-value pair to the document.- Specified by:
addin 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
public java.lang.Object put(org.eclipse.persistence.internal.core.helper.CoreField key, java.lang.Object value)INTERNAL: Add the field-value pair to the document.- Specified by:
putin 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:
putin 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:
emptyCollectionin 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
public void namespaceDeclaration(java.lang.String prefix, java.lang.String namespaceURI)Add the specified namespace declaration- Specified by:
namespaceDeclarationin 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:
namespaceDeclarationin 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:
namespaceDeclarationin 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
public void defaultNamespaceDeclaration(java.lang.String defaultNamespace)
Add the defaultNamespace declaration- Parameters:
defaultNamespace-
-
startDocument
public abstract void startDocument(java.lang.String encoding, java.lang.String version)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, java.lang.Object object, org.eclipse.persistence.internal.oxm.mappings.Descriptor descriptor, org.eclipse.persistence.internal.oxm.Root root, boolean isXMLRoot)INTERNAL
-
startPrefixMapping
public void startPrefixMapping(java.lang.String prefix, java.lang.String namespaceURI)Receive notification that a namespace has been declared.- Specified by:
startPrefixMappingin 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
public void endPrefixMapping(java.lang.String prefix)
Receive notification that the scope of this namespace declaration has ended.- Specified by:
endPrefixMappingin 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:
openStartElementin 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, java.lang.String value)Receive notification of an attribute.- Specified by:
attributein 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
public abstract void attribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, java.lang.String value)Receive notification of an attribute.- Specified by:
attributein 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:
attributein 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:
attributein 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:
closeStartElementin 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:
endElementin 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
public abstract void characters(java.lang.String value)
Receive notification of character data.- Specified by:
charactersin 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, java.lang.Object value, javax.xml.namespace.QName schemaType)Convert the value if necessary and write out the attribute and converted value.- Specified by:
attributein 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>- Since:
- EclipseLink 2.4
-
characters
public void characters(javax.xml.namespace.QName schemaType, java.lang.Object value, java.lang.String mimeType, boolean isCDATA)Convert the value if necessary and write out the converted value.- Specified by:
charactersin 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>- Since:
- EclipseLink 2.4
-
getValueToWrite
public java.lang.String getValueToWrite(javax.xml.namespace.QName schemaType, java.lang.Object value, org.eclipse.persistence.internal.oxm.ConversionManager conversionManager)- Specified by:
getValueToWritein 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
protected java.lang.String getStringForQName(javax.xml.namespace.QName qName)
-
cdata
public abstract void cdata(java.lang.String value)
Receive notification of character data to be wrapped in a CDATA node.- Specified by:
cdatain 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
public void node(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver)Receive notification of a node.- Specified by:
nodein 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(org.w3c.dom.Node node, org.eclipse.persistence.internal.oxm.NamespaceResolver resolver, java.lang.String qualifiedName, java.lang.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:
openStartGroupingElementsin 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:
closeStartGroupingElementsin 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
public void beforeContainmentMarshal(java.lang.Object child)
- Specified by:
beforeContainmentMarshalin 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
public void afterContainmentMarshal(java.lang.Object parent, java.lang.Object child)- Specified by:
afterContainmentMarshalin 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
public java.util.ArrayList<org.eclipse.persistence.internal.oxm.XPathNode> getGroupingElements()
INTERNAL: Returns the list of grouping elements currently stored on the MarshalRecord- Specified by:
getGroupingElementsin 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
public void setGroupingElement(java.util.ArrayList<org.eclipse.persistence.internal.oxm.XPathNode> elements)
INTERNAL: Sets the list of grouping elements to be marshalled on this record.- Specified by:
setGroupingElementin 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:
predicateAttributein 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:
startCollectionin 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:
endCollection()- Since:
- EclipseLink 2.4
-
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:
emptyAttributein 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>- Since:
- EclipseLink 2.4
-
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:
emptyComplexin 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>- Since:
- EclipseLink 2.4
-
emptySimple
public void emptySimple(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
Used when an nil attribute should be written- Specified by:
emptySimplein 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>- Since:
- EclipseLink 2.4
-
nilSimple
public void nilSimple(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
Used when an nil attribute should be written- Specified by:
nilSimplein 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>- Since:
- EclipseLink 2.4
-
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:
nilComplexin 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>- Since:
- EclipseLink 2.4
-
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:
endCollectionin 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:
startCollection()- Since:
- EclipseLink 2.4
-
processNamespaceResolverForXSIPrefix
protected java.lang.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
- Since:
- EclipseLink 2.4
-
getTextWrapperFragment
public org.eclipse.persistence.internal.oxm.XPathFragment getTextWrapperFragment()
INTERNAL: The optional fragment used to wrap the text() mappings- Specified by:
getTextWrapperFragmentin 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>- Since:
- 2.4
-
getNameForFragment
protected java.lang.String getNameForFragment(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)
-
getPrefixBytes
protected byte[] getPrefixBytes(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)
-
getPrefixForFragment
protected java.lang.String getPrefixForFragment(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment)
-
getCycleDetectionStack
public org.eclipse.persistence.internal.oxm.record.MarshalRecord.CycleDetectionStack<java.lang.Object> getCycleDetectionStack()
INTERNAL- Specified by:
getCycleDetectionStackin 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:
isWrapperAsCollectionNamein 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
public CoreAttributeGroup getCurrentAttributeGroup()
- Specified by:
getCurrentAttributeGroupin 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
public void pushAttributeGroup(CoreAttributeGroup group)
- Specified by:
pushAttributeGroupin 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:
popAttributeGroupin 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:
flushin 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>
-
-