Class XMLAbstractAnyMapping

java.lang.Object
org.eclipse.persistence.core.mappings.CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
org.eclipse.persistence.mappings.DatabaseMapping
org.eclipse.persistence.oxm.mappings.XMLAbstractAnyMapping
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
XMLAnyCollectionMapping, XMLAnyObjectMapping

public abstract class XMLAbstractAnyMapping extends DatabaseMapping

Purpose: An abstract superclass for XMLAnyObjectMapping and XMLAnyCollectionMapping. Maps an attribute of an object to an xs:any construct in the schema.

See Also:
  • Constructor Details

    • XMLAbstractAnyMapping

      public XMLAbstractAnyMapping()
  • Method Details

    • getKeepAsElementPolicy

      public UnmarshalKeepAsElementPolicy getKeepAsElementPolicy()
    • setKeepAsElementPolicy

      public void setKeepAsElementPolicy(UnmarshalKeepAsElementPolicy keepAsElementPolicy)
    • getDescriptor

      protected XMLDescriptor getDescriptor(XMLRecord xmlRecord, org.eclipse.persistence.internal.sessions.AbstractSession session, QName rootQName) throws XMLMarshalException
      Throws:
      XMLMarshalException
    • buildObjectForNonXMLRoot

      protected Object buildObjectForNonXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, org.eclipse.persistence.internal.sessions.AbstractSession session, Node next, Object container, org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
    • buildObjectAndWrapInXMLRoot

      protected Object buildObjectAndWrapInXMLRoot(ClassDescriptor referenceDescriptor, XMLConverter converter, ObjectBuildingQuery query, DOMRecord record, DOMRecord nestedRecord, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, org.eclipse.persistence.internal.sessions.AbstractSession session, Node next, Object container, org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
      Uses a given reference descriptor to build an object based on a given DOMRecord. If a converter is provided it is applied to the newly built object. The reference descriptor will wrap the object in an XMLRoot if required, and the object will be added to the given Container Policy if it is non-null.
    • buildObjectNoReferenceDescriptor

      protected Object buildObjectNoReferenceDescriptor(DOMRecord record, XMLConverter converter, org.eclipse.persistence.internal.sessions.AbstractSession session, Node next, Object container, org.eclipse.persistence.internal.queries.ContainerPolicy cp)
      Convenience method that takes a given Node and applies namespace information, converts it if necessary, and adds the resulting object to the given ContainerPolicy if non-null.
    • buildXMLRootForText

      protected XMLRoot buildXMLRootForText(Node node, QName schemaTypeQName, XMLConverter converter, org.eclipse.persistence.internal.sessions.AbstractSession session, DOMRecord record)
      Convenience method that takes a given node and checks the first child for TEXT_NODE. If the first child is a text node containing a non-empty String, the String value will be processed and wrapped in an XMLRoot. If schemaTypeQName represents a default XML type (boolean, dateTime, etc) the String value will be converted to that type. If a converter is provided it will be applied before wrapping in an XMLRoot.
    • buildXMLRoot

      protected XMLRoot buildXMLRoot(Node node, Object object)
      Convenience method that builds an XMLRoot wrapping a given object. The local name and uri are set using the given Node.
    • isWriteOnly

      public boolean isWriteOnly()
      Description copied from class: DatabaseMapping
      INTERNAL: Some mappings support no attribute (transformation and multitenant primary key).
      Overrides:
      isWriteOnly in class DatabaseMapping
    • setIsWriteOnly

      public void setIsWriteOnly(boolean b)
    • setAttributeValueInObject

      public void setAttributeValueInObject(Object object, Object value) throws DescriptorException
      Description copied from class: DatabaseMapping
      INTERNAL: Set the value of the attribute mapped by this mapping.
      Overrides:
      setAttributeValueInObject in class DatabaseMapping
      Throws:
      DescriptorException
    • preInitialize

      public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
      Description copied from class: DatabaseMapping
      INTERNAL: Allow for initialization of properties and validation.
      Overrides:
      preInitialize in class DatabaseMapping
      Throws:
      DescriptorException