Module eclipselink

Class AbstractNullPolicy

java.lang.Object
org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy
Direct Known Subclasses:
IsSetNullPolicy, NullPolicy

public abstract class AbstractNullPolicy extends Object
PUBLIC: Description: This node null policy allows for the handling of various representations of null in XML documents.

Null policies have 2 concrete implementations:

  • NullPolicy (default implementation)
  • IsSetNullPolicy (keyed off isSet() state of the node)
Unmarshalling
Unmarshal Flag Description
isSetPerformedForAbsentNode This umarshal flag represents whether a set is done for absent nodes only.
isNullRepresentedByEmptyNode If this unmarshal flag is false for empty nodes we set an empty Object for composite mappings, otherwise we set to null.
isNullRepresentedByXsiNil If this unmarshal flag is false for xsi:nil nodes we ignore the xsi:nil attribute and treat as an empty node.
Otherwise we set to null.
Marshalling
Marshal Enum XMLNullRepresentationType Description
XSI_NIL Nillable: Write out an xsi:nil="true" attribute.
ABSENT_NODE(default) Optional: Write out no node.
EMPTY_NODE Required: Write out an empty <node/> or node="" node.
 Usage:
See Also:
  • NullCapableValue
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final String
     
    protected boolean
    This state flag determines how we unmarshal xsi:nil nodes when there are other attributes (other than xsi:nil) present.
    protected boolean
    This state flag determines how we unmarshal empty nodes. true = Perform a set(null) or primitive type equivalent. false = (default) Perform a set(new Object()).
    protected boolean
    This state flag determines how we unmarshal xsi:nil nodes.
    protected boolean
    This state flag determines how we unmarshal absent nodes. true = (default) Perform a set(null). false = Do not perform a set(null).
    This enum instance determines what to write out during a marshal operation.
    protected static final String
     
    protected static final String
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    compositeObjectMarshal(org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record, Object object, org.eclipse.persistence.internal.oxm.mappings.Field field, org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session)
    INTERNAL: When using the DOM Platform, this method is responsible for marshalling null values for the XML Composite Object Mapping.
    boolean
    compositeObjectMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord, Object object, CoreSession session, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
    INTERNAL: When using the SAX Platform, this method is responsible for marshalling null values for the XML Composite Object Mapping.
    void
    directMarshal(org.eclipse.persistence.internal.oxm.mappings.Field field, org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record, Object object)
    INTERNAL
    boolean
    directMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord, Object object, CoreSession session, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
    INTERNAL: When using the SAX or DOM Platform, this method is responsible for marshalling null values for the XML Direct Mapping.
    boolean
     
    Get the enum that determines what XML to write when a null value is encountered.
    boolean
     
    boolean
     
    boolean
     
    protected String
    processNamespaceResolverForXSIPrefix(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord)
    INTERNAL: Private function to process or create an entry in the NamespaceResolver for the xsi prefix.
    void
    setIgnoreAttributesForNil(boolean ignoreAttributesForNil)
     
    void
    Set the enum that determines what XML to write when a null value is encountered.
    void
    setNullRepresentedByEmptyNode(boolean bIsNullRepresentedByEmptyNode)
     
    void
    setNullRepresentedByXsiNil(boolean bIsNullRepresentedByXsiNil)
     
    boolean
    INTERNAL: When using the DOM Platform during unmarshal operations.
    boolean
    valueIsNull(Attributes attributes)
    INTERNAL: When using the SAX or DOM Platform during unmarshal operations.
    abstract void
    xPathNode(org.eclipse.persistence.internal.oxm.XPathNode xPathNode, org.eclipse.persistence.internal.oxm.NullCapableValue nullCapableValue)
    INTERNAL: When using the SAX Platform this allows a NodeValue to be registered to receive events from the TreeObjectBuilder.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • TRUE

      protected static final String TRUE
      See Also:
    • COLON_W_SCHEMA_NIL_ATTRIBUTE

      protected static final String COLON_W_SCHEMA_NIL_ATTRIBUTE
      See Also:
    • XSI_NIL_ATTRIBUTE

      protected static final String XSI_NIL_ATTRIBUTE
      See Also:
    • isSetPerformedForAbsentNode

      protected boolean isSetPerformedForAbsentNode
      This state flag determines how we unmarshal absent nodes. true = (default) Perform a set(null). false = Do not perform a set(null).
    • isNullRepresentedByEmptyNode

      protected boolean isNullRepresentedByEmptyNode
      This state flag determines how we unmarshal empty nodes. true = Perform a set(null) or primitive type equivalent. false = (default) Perform a set(new Object()).
    • isNullRepresentedByXsiNil

      protected boolean isNullRepresentedByXsiNil
      This state flag determines how we unmarshal xsi:nil nodes. A set is performed in both cases. true = Perform a set(null) or primitive type equivalent.. false = (default) do nothing and treat as an empty node.
    • ignoreAttributesForNil

      protected boolean ignoreAttributesForNil
      This state flag determines how we unmarshal xsi:nil nodes when there are other attributes (other than xsi:nil) present. If false, we ignore any attributes and treat the element as nil. If true, we inspect if some attributes are present and if yes, we process them.
    • marshalNullRepresentation

      protected XMLNullRepresentationType marshalNullRepresentation
      This enum instance determines what to write out during a marshal operation. We are defaulting to ABSENT_NODE
  • Constructor Details

    • AbstractNullPolicy

      protected AbstractNullPolicy()
      Default constructor.
  • Method Details

    • getMarshalNullRepresentation

      public XMLNullRepresentationType getMarshalNullRepresentation()
      Get the enum that determines what XML to write when a null value is encountered.
    • setMarshalNullRepresentation

      public void setMarshalNullRepresentation(XMLNullRepresentationType anEnumInstance)
      Set the enum that determines what XML to write when a null value is encountered.
    • directMarshal

      public boolean directMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord, Object object, CoreSession session, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL: When using the SAX or DOM Platform, this method is responsible for marshalling null values for the XML Direct Mapping.
      Returns:
      true if this method caused any nodes to be marshaled, else false.
    • compositeObjectMarshal

      public boolean compositeObjectMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord, Object object, CoreSession session, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
      INTERNAL: When using the SAX Platform, this method is responsible for marshalling null values for the XML Composite Object Mapping.
      Returns:
      true if this method caused any nodes to be marshaled, else false.
    • compositeObjectMarshal

      public boolean compositeObjectMarshal(org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record, Object object, org.eclipse.persistence.internal.oxm.mappings.Field field, org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session)
      INTERNAL: When using the DOM Platform, this method is responsible for marshalling null values for the XML Composite Object Mapping.
      Returns:
      true if this method caused any objects to be marshaled, else false.
    • valueIsNull

      public boolean valueIsNull(Attributes attributes)
      INTERNAL: When using the SAX or DOM Platform during unmarshal operations. Use the attributes to determine if the element represents a null value.
      Returns:
      true if based on the attributes the corresponding element represents a null value, else false.
    • valueIsNull

      public boolean valueIsNull(Element element)
      INTERNAL: When using the DOM Platform during unmarshal operations. Use the element to determine if the element represents a null value.
      Returns:
      true if based on the element it represents a null value, else false.
    • xPathNode

      public abstract void xPathNode(org.eclipse.persistence.internal.oxm.XPathNode xPathNode, org.eclipse.persistence.internal.oxm.NullCapableValue nullCapableValue)
      INTERNAL: When using the SAX Platform this allows a NodeValue to be registered to receive events from the TreeObjectBuilder.
    • getIsSetPerformedForAbsentNode

      public boolean getIsSetPerformedForAbsentNode()
      Returns:
      the isSetPerformedForAbsentNode flag
    • isNullRepresentedByEmptyNode

      public boolean isNullRepresentedByEmptyNode()
    • setNullRepresentedByEmptyNode

      public void setNullRepresentedByEmptyNode(boolean bIsNullRepresentedByEmptyNode)
    • isNullRepresentedByXsiNil

      public boolean isNullRepresentedByXsiNil()
    • setNullRepresentedByXsiNil

      public void setNullRepresentedByXsiNil(boolean bIsNullRepresentedByXsiNil)
    • ignoreAttributesForNil

      public boolean ignoreAttributesForNil()
    • setIgnoreAttributesForNil

      public void setIgnoreAttributesForNil(boolean ignoreAttributesForNil)
    • processNamespaceResolverForXSIPrefix

      protected String processNamespaceResolverForXSIPrefix(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord)
      INTERNAL: Private function to process or create an entry in the NamespaceResolver for the xsi prefix.
      Returns:
      xsi prefix
    • directMarshal

      public void directMarshal(org.eclipse.persistence.internal.oxm.mappings.Field field, org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record, Object object)
      INTERNAL