public abstract class AbstractNullPolicy
extends java.lang.Object
Null policies have 2 concrete implementations:
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 |
NullCapableValue
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
COLON_W_SCHEMA_NIL_ATTRIBUTE |
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()).
|
protected boolean |
isNullRepresentedByXsiNil
This state flag determines how we unmarshal xsi:nil nodes.
|
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).
|
protected XMLNullRepresentationType |
marshalNullRepresentation
This enum instance determines what to write out during a marshal
operation.
|
protected static java.lang.String |
TRUE |
protected static java.lang.String |
XSI_NIL_ATTRIBUTE |
Constructor and Description |
---|
AbstractNullPolicy() |
Modifier and Type | Method and Description |
---|---|
boolean |
compositeObjectMarshal(org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record,
java.lang.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,
java.lang.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,
java.lang.Object object)
INTERNAL
|
boolean |
directMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment,
org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord,
java.lang.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 |
getIsSetPerformedForAbsentNode() |
XMLNullRepresentationType |
getMarshalNullRepresentation()
Get the enum that determines what XML to write when a null value is encountered.
|
boolean |
isNullRepresentedByEmptyNode() |
boolean |
isNullRepresentedByXsiNil() |
protected java.lang.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 |
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(org.xml.sax.Attributes attributes)
INTERNAL: When using the SAX or DOM Platform during unmarshal operations.
|
boolean |
valueIsNull(org.w3c.dom.Element element)
INTERNAL: When using the 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.
|
protected static final java.lang.String TRUE
protected static final java.lang.String COLON_W_SCHEMA_NIL_ATTRIBUTE
protected static final java.lang.String XSI_NIL_ATTRIBUTE
protected boolean isSetPerformedForAbsentNode
protected boolean isNullRepresentedByEmptyNode
protected boolean isNullRepresentedByXsiNil
protected XMLNullRepresentationType marshalNullRepresentation
public XMLNullRepresentationType getMarshalNullRepresentation()
enumValue
- public void setMarshalNullRepresentation(XMLNullRepresentationType anEnumInstance)
enumValue
- public boolean directMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord, java.lang.Object object, CoreSession session, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
xPathFragment
- marshalRecord
- object
- session
- namespaceResolver
- public boolean compositeObjectMarshal(org.eclipse.persistence.internal.oxm.XPathFragment xPathFragment, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord, java.lang.Object object, CoreSession session, org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver)
xPathFragment
- marshalRecord
- object
- session
- namespaceResolver
- public boolean compositeObjectMarshal(org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record, java.lang.Object object, org.eclipse.persistence.internal.oxm.mappings.Field field, org.eclipse.persistence.internal.core.sessions.CoreAbstractSession session)
record
- object
- field
- public boolean valueIsNull(org.xml.sax.Attributes attributes)
attributes
- public boolean valueIsNull(org.w3c.dom.Element element)
public abstract void xPathNode(org.eclipse.persistence.internal.oxm.XPathNode xPathNode, org.eclipse.persistence.internal.oxm.NullCapableValue nullCapableValue)
xPathNode
- nullCapableValue
- public boolean getIsSetPerformedForAbsentNode()
public boolean isNullRepresentedByEmptyNode()
public void setNullRepresentedByEmptyNode(boolean bisNullRepresentedByEmptyNode)
bIsNullRepresentedByEmptyNode
- public boolean isNullRepresentedByXsiNil()
public void setNullRepresentedByXsiNil(boolean bIsNullRepresentedByXsiNil)
isNullRepresentedByXsiNil
- protected java.lang.String processNamespaceResolverForXSIPrefix(org.eclipse.persistence.internal.oxm.NamespaceResolver namespaceResolver, org.eclipse.persistence.internal.oxm.record.MarshalRecord marshalRecord)
namespaceResolver
- public void directMarshal(org.eclipse.persistence.internal.oxm.mappings.Field field, org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecord record, java.lang.Object object)