Module org.eclipse.persistence.core
Class ValidatingMarshalRecord
java.lang.Object
org.eclipse.persistence.internal.core.sessions.CoreAbstractRecord
org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl<CoreAbstractSession,CoreField,Marshaller,NamespaceResolver>
org.eclipse.persistence.oxm.record.MarshalRecord<Marshaller>
org.eclipse.persistence.oxm.record.ValidatingMarshalRecord
- All Implemented Interfaces:
AbstractMarshalRecord<CoreAbstractSession,,CoreField, Marshaller, NamespaceResolver> MarshalRecord<CoreAbstractSession,,CoreField, Marshaller, NamespaceResolver> XMLRecord<CoreAbstractSession>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
MarshalRecord.CycleDetectionStack<E>Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
XMLRecord.Nil -
Field Summary
Fields inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
COLON_W_SCHEMA_NIL_ATTRIBUTE, textWrapperFragment, TRUEFields inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
equalNamespaceResolvers, hasCustomNamespaceMapper, marshaller, namespaceAware, namespaceResolver, sessionFields inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
DEFAULT_ATTRIBUTE_GROUP, NIL -
Constructor Summary
ConstructorsConstructorDescriptionValidatingMarshalRecord(MarshalRecord marshalRecord, XMLMarshaller xmlMarshaller) -
Method Summary
Modifier and TypeMethodDescriptionvoidINTERNAL: Add the field-value pair to the document.addExtraNamespacesToNamespaceResolver(Descriptor descriptor, CoreAbstractSession session, boolean allowOverride, boolean ignoreEqualResolvers) voidaddGroupingElement(XPathNode xPathNode) INTERNAL: If an XPathNode does not have an associated NodeValue then add it to the MarshalRecord as a grouping element.protected voidaddPositionalNodes(XPathFragment xPathFragment, NamespaceResolver namespaceResolver) booleanaddXsiTypeAndClassIndicatorIfRequired(Descriptor xmlDescriptor, Descriptor referenceDescriptor, Field xmlField, boolean isRootElement) booleanaddXsiTypeAndClassIndicatorIfRequired(Descriptor xmlDescriptor, Descriptor referenceDescriptor, Field xmlField, Object originalObject, Object obj, boolean wasXMLRoot, boolean isRootElement) INTERNALvoidafterContainmentMarshal(Object parent, Object child) voidReceive notification of an attribute.voidattribute(XPathFragment xPathFragment, NamespaceResolver namespaceResolver, String value) Receive notification of an attribute.voidattributeWithoutQName(String namespaceURI, String localName, String prefix, String value) voidbeforeContainmentMarshal(Object child) voidReceive notification of character data to be wrapped in a CDATA node.voidcharacters(String value) Receive notification of character data.voidclear()voidReceive notification that all of the attribute events have occurred for the most recent element that has been started.voidcloseStartGroupingElements(XPathFragment groupingFragment) voidelement(XPathFragment frag) Receive notification of an element.voidRecieve notification that a document is being ended.voidendElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver) Receive notification that an element is being ended.voidendPrefixMapping(String prefix) Receive notification that the scope of this namespace declaration has ended.voidendPrefixMappings(NamespaceResolver namespaceResolver) getDOM()booleanvoidnamespaceDeclarations(NamespaceResolver namespaceResolver) INTERNAL: Add the namespace declarations to the XML document.voidnode(Node node, NamespaceResolver resolver, String uri, String name) Receive notification of a node.voidopenStartElement(XPathFragment xPathFragment, NamespaceResolver namespaceResolver) Receive notification that an element is being started.openStartGroupingElements(NamespaceResolver namespaceResolver) INTERNAL: Trigger that the grouping elements should be written.INTERNAL: Add the field-value pair to the document.voidremoveExtraNamespacesFromNamespaceResolver(List<Namespace> extraNamespaces, CoreAbstractSession session) voidremoveGroupingElement(XPathNode xPathNode) INTERNAL:resolveNamespacePrefix(String prefix) voidsetLeafElementType(QName type) voidsetMarshaller(Marshaller marshaller) voidvoidsetOwningObject(Object obj) voidsetSession(CoreAbstractSession session) voidsetXOPPackage(boolean isXOPPackage) voidstartDocument(String encoding, String version) Receive notification that a document is being started.voidstartPrefixMapping(String prefix, String namespaceURI) Receive notification that a namespace has been declared.voidstartPrefixMappings(NamespaceResolver namespaceResolver) voidINTERNAL Writes the header, if appropriate.voidwriteXsiTypeAttribute(Descriptor descriptor, String typeUri, String typeLocal, String typePrefix, boolean addToNamespaceResolver) voidwriteXsiTypeAttribute(Descriptor xmlDescriptor, XMLSchemaReference xmlRef, boolean addToNamespaceResolver) Methods inherited from class org.eclipse.persistence.oxm.record.MarshalRecord
attribute, characters, defaultNamespaceDeclaration, emptyAttribute, emptyCollection, emptyComplex, emptySimple, endCollection, flush, forceValueWrapper, getCurrentAttributeGroup, getCycleDetectionStack, getGroupingElements, getNameForFragment, getPrefixBytes, getPrefixForFragment, getStringForQName, getTextWrapperFragment, getValueToWrite, isWrapperAsCollectionName, marshalWithoutRootElement, namespaceDeclaration, nilComplex, nilSimple, node, popAttributeGroup, predicateAttribute, processNamespaceResolverForXSIPrefix, pushAttributeGroup, setGroupingElement, startCollectionMethods inherited from class org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl
getConversionManager, getLeafElementType, getNamespaceSeparator, hasCustomNamespaceMapper, hasEqualNamespaceResolvers, isNamespaceAware, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord
getLeafElementType, hasEqualNamespaceResolvers, isNamespaceAware, setCustomNamespaceMapper, setEqualNamespaceResolvers, setLeafElementTypeMethods inherited from interface org.eclipse.persistence.internal.oxm.record.MarshalRecord
hasCustomNamespaceMapperMethods inherited from interface org.eclipse.persistence.internal.oxm.record.XMLRecord
getConversionManager, getNamespaceSeparator
-
Constructor Details
-
ValidatingMarshalRecord
-
-
Method Details
-
startDocument
Description copied from class:MarshalRecordReceive notification that a document is being started.- Specified by:
startDocumentin classMarshalRecord<Marshaller>- Parameters:
encoding- The XML document will be encoded using this encoding.version- This specifies the version of XML.
-
endDocument
public void endDocument()Description copied from class:MarshalRecordRecieve notification that a document is being ended.- Specified by:
endDocumentin classMarshalRecord<Marshaller>
-
element
Description copied from class:MarshalRecordReceive notification of an element.- Specified by:
elementin classMarshalRecord<Marshaller>- Parameters:
frag- The XPathFragment of the element
-
attribute
public void attribute(XPathFragment xPathFragment, NamespaceResolver namespaceResolver, String value) Description copied from class:MarshalRecordReceive notification of an attribute.- Specified by:
attributein interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
attributein classMarshalRecord<Marshaller>- 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
Description copied from class:MarshalRecordReceive notification of an attribute.- Specified by:
attributein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
attributein interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
attributein classMarshalRecord<Marshaller>- 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 void closeStartElement()Description copied from class:MarshalRecordReceive notification that all of the attribute events have occurred for the most recent element that has been started.- Specified by:
closeStartElementin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
closeStartElementin classMarshalRecord<Marshaller>
-
endElement
Description copied from class:MarshalRecordReceive notification that an element is being ended.- Specified by:
endElementin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
endElementin classMarshalRecord<Marshaller>- 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).
-
getPositionalNodes
- Overrides:
getPositionalNodesin classMarshalRecord<Marshaller>
-
addGroupingElement
Description copied from class:MarshalRecordINTERNAL: If an XPathNode does not have an associated NodeValue then add it to the MarshalRecord as a grouping element.- Specified by:
addGroupingElementin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
addGroupingElementin classMarshalRecord<Marshaller>
-
removeGroupingElement
Description copied from class:MarshalRecordINTERNAL:- Specified by:
removeGroupingElementin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
removeGroupingElementin classMarshalRecord<Marshaller>
-
add
Description copied from class:MarshalRecordINTERNAL: Add the field-value pair to the document.- Specified by:
addin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
addin classMarshalRecord<Marshaller>
-
put
Description copied from class:MarshalRecordINTERNAL: Add the field-value pair to the document.- Specified by:
putin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
putin classMarshalRecord<Marshaller>
-
namespaceDeclarations
Description copied from class:MarshalRecordINTERNAL: Add the namespace declarations to the XML document.- Overrides:
namespaceDeclarationsin classMarshalRecord<Marshaller>- Parameters:
namespaceResolver- The NamespaceResolver contains the namespace prefix and URI pairings that need to be declared.
-
startPrefixMapping
Description copied from class:MarshalRecordReceive notification that a namespace has been declared.- Specified by:
startPrefixMappingin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
startPrefixMappingin classMarshalRecord<Marshaller>- Parameters:
prefix- The namespace prefix.namespaceURI- The namespace URI.
-
startPrefixMappings
- Overrides:
startPrefixMappingsin classMarshalRecord<Marshaller>
-
endPrefixMapping
Description copied from class:MarshalRecordReceive notification that the scope of this namespace declaration has ended.- Specified by:
endPrefixMappingin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
endPrefixMappingin classMarshalRecord<Marshaller>- Parameters:
prefix- The namespace prefix.
-
endPrefixMappings
- Overrides:
endPrefixMappingsin classMarshalRecord<Marshaller>
-
openStartElement
Description copied from class:MarshalRecordReceive notification that an element is being started.- Specified by:
openStartElementin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
openStartElementin classMarshalRecord<Marshaller>- 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).
-
openStartGroupingElements
Description copied from class:MarshalRecordINTERNAL: 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 interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
openStartGroupingElementsin classMarshalRecord<Marshaller>- Parameters:
namespaceResolver- The NamespaceResolver can be used to resolve the namespace URI for the namespace prefix held by the XPathFragment (if required).
-
closeStartGroupingElements
- Specified by:
closeStartGroupingElementsin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
closeStartGroupingElementsin classMarshalRecord<Marshaller>
-
addPositionalNodes
- Overrides:
addPositionalNodesin classMarshalRecord<Marshaller>
-
characters
Description copied from class:MarshalRecordReceive notification of character data.- Specified by:
charactersin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
charactersin classMarshalRecord<Marshaller>- Parameters:
value- This is the entire value of the text node.
-
cdata
Description copied from class:MarshalRecordReceive notification of character data to be wrapped in a CDATA node.- Specified by:
cdatain interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
cdatain classMarshalRecord<Marshaller>- Parameters:
value- This is the value of the text to be wrapped
-
node
Description copied from class:MarshalRecordReceive notification of a node.- Specified by:
nodein classMarshalRecord<Marshaller>- Parameters:
node- The Node to be added to the documentresolver- The NamespaceResolver can be used to resolve theuri- replacement root name for the nodename- replacement root namespace for the node namespace URI/prefix of the node
-
getLocalName
- Overrides:
getLocalNamein classMarshalRecord<Marshaller>
-
getNamespaceURI
- Overrides:
getNamespaceURIin classMarshalRecord<Marshaller>
-
clear
public void clear()- Overrides:
clearin classMarshalRecord<Marshaller>
-
getDocument
- Overrides:
getDocumentin classMarshalRecord<Marshaller>
-
getDOM
- Specified by:
getDOMin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
getDOMin classMarshalRecord<Marshaller>
-
transformToXML
- Overrides:
transformToXMLin classMarshalRecord<Marshaller>
-
resolveNamespacePrefix
- Specified by:
resolveNamespacePrefixin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
resolveNamespacePrefixin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
getMarshaller
- Specified by:
getMarshallerin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
getMarshallerin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
setMarshaller
- Specified by:
setMarshallerin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
setMarshallerin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
setMarshallerin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
getOwningObject
- Specified by:
getOwningObjectin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
getOwningObjectin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
setOwningObject
- Specified by:
setOwningObjectin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
setOwningObjectin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
setLeafElementType
- Specified by:
setLeafElementTypein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
setLeafElementTypein interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
setLeafElementTypein classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
setNamespaceResolver
- Specified by:
setNamespaceResolverin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
setNamespaceResolverin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
getNamespaceResolver
- Specified by:
getNamespaceResolverin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
getNamespaceResolverin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
getSession
- Specified by:
getSessionin interfaceXMLRecord<CoreAbstractSession>- Overrides:
getSessionin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
setSession
- Specified by:
setSessionin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
setSessionin classMarshalRecord<Marshaller>
-
isXOPPackage
public boolean isXOPPackage()- Specified by:
isXOPPackagein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
isXOPPackagein interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
isXOPPackagein classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-
beforeContainmentMarshal
- Specified by:
beforeContainmentMarshalin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
beforeContainmentMarshalin classMarshalRecord<Marshaller>
-
afterContainmentMarshal
- Specified by:
afterContainmentMarshalin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
afterContainmentMarshalin classMarshalRecord<Marshaller>
-
writeHeader
public void writeHeader()Description copied from class:MarshalRecordINTERNAL Writes the header, if appropriate.- Overrides:
writeHeaderin classMarshalRecord<Marshaller>
-
addExtraNamespacesToNamespaceResolver
public List<Namespace> addExtraNamespacesToNamespaceResolver(Descriptor descriptor, CoreAbstractSession session, boolean allowOverride, boolean ignoreEqualResolvers) - Specified by:
addExtraNamespacesToNamespaceResolverin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
addExtraNamespacesToNamespaceResolverin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
removeExtraNamespacesFromNamespaceResolver
public void removeExtraNamespacesFromNamespaceResolver(List<Namespace> extraNamespaces, CoreAbstractSession session) - Specified by:
removeExtraNamespacesFromNamespaceResolverin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
removeExtraNamespacesFromNamespaceResolverin interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
removeExtraNamespacesFromNamespaceResolverin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
attributeWithoutQName
public void attributeWithoutQName(String namespaceURI, String localName, String prefix, String value) - Specified by:
attributeWithoutQNamein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Specified by:
attributeWithoutQNamein interfaceMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
attributeWithoutQNamein classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
addXsiTypeAndClassIndicatorIfRequired
public boolean addXsiTypeAndClassIndicatorIfRequired(Descriptor xmlDescriptor, Descriptor referenceDescriptor, Field xmlField, boolean isRootElement) - Specified by:
addXsiTypeAndClassIndicatorIfRequiredin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
addXsiTypeAndClassIndicatorIfRequiredin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
addXsiTypeAndClassIndicatorIfRequired
public boolean addXsiTypeAndClassIndicatorIfRequired(Descriptor xmlDescriptor, Descriptor referenceDescriptor, Field xmlField, Object originalObject, Object obj, boolean wasXMLRoot, boolean isRootElement) Description copied from class:AbstractMarshalRecordImplINTERNAL- Specified by:
addXsiTypeAndClassIndicatorIfRequiredin interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
addXsiTypeAndClassIndicatorIfRequiredin classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
writeXsiTypeAttribute
public void writeXsiTypeAttribute(Descriptor descriptor, String typeUri, String typeLocal, String typePrefix, boolean addToNamespaceResolver) - Specified by:
writeXsiTypeAttributein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
writeXsiTypeAttributein classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
writeXsiTypeAttribute
public void writeXsiTypeAttribute(Descriptor xmlDescriptor, XMLSchemaReference xmlRef, boolean addToNamespaceResolver) - Specified by:
writeXsiTypeAttributein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
writeXsiTypeAttributein classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Since:
- EclipseLink 2.5.0
-
setXOPPackage
public void setXOPPackage(boolean isXOPPackage) - Specified by:
setXOPPackagein interfaceAbstractMarshalRecord<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver> - Overrides:
setXOPPackagein classAbstractMarshalRecordImpl<CoreAbstractSession,CoreField, Marshaller, NamespaceResolver>
-