Class AbstractNullPolicy
java.lang.Object
org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy
- Direct Known Subclasses:
IsSetNullPolicy
,NullPolicy
PUBLIC: Description: This node null policy allows for the handling of
various representations of null in XML documents.
Usage:
Null policies have 2 concrete implementations:
- NullPolicy (default implementation)
- IsSetNullPolicy (keyed off isSet() state of the node)
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. |
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. |
- See Also:
-
NullCapableValue
-
Field Summary
Modifier and TypeFieldDescriptionprotected 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.protected boolean
This state flag determines how we unmarshal xsi:nil nodes.protected boolean
This state flag determines how we unmarshal absent nodes.protected XMLNullRepresentationType
This enum instance determines what to write out during a marshal operation.protected static final String
protected static final String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
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) INTERNALboolean
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
setMarshalNullRepresentation
(XMLNullRepresentationType anEnumInstance) Set the enum that determines what XML to write when a null value is encountered.void
setNullRepresentedByEmptyNode
(boolean bIsNullRepresentedByEmptyNode) void
setNullRepresentedByXsiNil
(boolean bIsNullRepresentedByXsiNil) boolean
valueIsNull
(Element element) 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.
-
Field Details
-
TRUE
- See Also:
-
COLON_W_SCHEMA_NIL_ATTRIBUTE
- See Also:
-
XSI_NIL_ATTRIBUTE
- See Also:
-
isSetPerformedForAbsentNode
protected boolean isSetPerformedForAbsentNodeThis state flag determines how we unmarshal absent nodes. true = (default) Perform a set(null). false = Do not perform a set(null). -
isNullRepresentedByEmptyNode
protected boolean isNullRepresentedByEmptyNodeThis 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 isNullRepresentedByXsiNilThis 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 ignoreAttributesForNilThis 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
This enum instance determines what to write out during a marshal operation. We are defaulting to ABSENT_NODE
-
-
Constructor Details
-
AbstractNullPolicy
public AbstractNullPolicy()
-
-
Method Details
-
getMarshalNullRepresentation
Get the enum that determines what XML to write when a null value is encountered. -
setMarshalNullRepresentation
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.- Parameters:
xPathFragment
-marshalRecord
-object
-session
-namespaceResolver
-- 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.- Parameters:
xPathFragment
-marshalRecord
-object
-session
-namespaceResolver
-- 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.- Parameters:
record
-object
-field
-- Returns:
- true if this method caused any objects to be marshaled, else false.
-
valueIsNull
INTERNAL: When using the SAX or DOM Platform during unmarshal operations. Use the attributes to determine if the element represents a null value.- Parameters:
attributes
-- Returns:
- true if based on the attributes the corresponding element represents a null value, else false.
-
valueIsNull
INTERNAL: When using the DOM Platform during unmarshal operations. Use the element to determine if the element represents a null value.- Parameters:
element
-- 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.- Parameters:
xPathNode
-nullCapableValue
-
-
getIsSetPerformedForAbsentNode
public boolean getIsSetPerformedForAbsentNode()- Returns:
- the isSetPerformedForAbsentNode flag
-
isNullRepresentedByEmptyNode
public boolean isNullRepresentedByEmptyNode()- Returns:
-
setNullRepresentedByEmptyNode
public void setNullRepresentedByEmptyNode(boolean bIsNullRepresentedByEmptyNode) - Parameters:
bIsNullRepresentedByEmptyNode
-
-
isNullRepresentedByXsiNil
public boolean isNullRepresentedByXsiNil()- Returns:
-
setNullRepresentedByXsiNil
public void setNullRepresentedByXsiNil(boolean bIsNullRepresentedByXsiNil) - Parameters:
bIsNullRepresentedByXsiNil
-
-
ignoreAttributesForNil
public boolean ignoreAttributesForNil()- Returns:
-
setIgnoreAttributesForNil
public void setIgnoreAttributesForNil(boolean ignoreAttributesForNil) - Parameters:
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.- Parameters:
namespaceResolver
-- 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
-