Top Description Fields Constructors Methods
org.eclipse.persistence.oxm.mappings.nullpolicy

public Class NullPolicy

extends AbstractNullPolicy
Class Inheritance
Imports
org.eclipse.persistence.internal.oxm.NullCapableValue, .XPathNode

PUBLIC: Description: This null policy is the default implementation class.
Marshal:
The boolean value of the isSet() state of a node has no effect on whether a node will be written out for a null value - a set is always performed unless the isSetPerformedForAbsentNode flag is set to false for absent nodes.
Unmarshal:

The following instance field can be set on top of the two from AbstractNullPolicy:

 Usage:

Unmarshal null direct element xsi:nil node:

Code Sample
XMLDescriptor aDescriptor = new XMLDescriptor();
aDescriptor.setJavaClass(Employee.class);
aDescriptor.setDefaultRootElement("employee");
XMLDirectMapping firstNameMapping = new XMLDirectMapping();
firstNameMapping.setAttributeName("firstname");
firstNameMapping.setXPath("first-name/text()");
AbstractNullPolicy aNullPolicy = new NullPolicy();
aDescriptor.addMapping(firstNameMapping);
aNullPolicy.setSetPerformedForAbsentNode(false); // no effect
aNullPolicy.setNullRepresentedByEmptyNodeNode(false); // default or no effect
aNullPolicy.setNullRepresentedByXsiNil(false); // default or no effect

Input XML
<employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <firstname xsi:nil=true/>
</employee>

Output Object State
anEmployee.getFirstname() = null
anEmployee.isSet(firstname) = true

Marshal null composite object (isSet=true) as empty node: .

Code Sample
XMLDescriptor aDescriptor = new XMLDescriptor();
aDescriptor.setJavaClass(Team.class);
aDescriptor.setDefaultRootElement("team");
XMLCompositeObjectMapping aManagerMapping = new XMLCompositeObjectMapping();
aManagerMapping.setAttributeName("manager");
aManagerMapping.setXPath("manager/text()");
// do not modify the default NullPolicy or the 3 boolean flags
AbstractNullPolicy aNullPolicy = afirstNameMapping.getNullPolicy();
aDescriptor.addMapping(aManagerMapping);
aNullPolicy.setMarshalNullRepresentation(XMLNullRepresentationType.EMPTY_NODE);

Input Object State
aTeam.getManager() = null
aTeam.isSet(manager) = no effect

Output XML
<team xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <manager/>
</team>

Since
Oracle TopLink 11g Release 1 (11.1.1)
See Also
org.eclipse.persistence.internal.oxm.NullCapableValue

Field Summary

Inherited from org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy:
COLON_W_SCHEMA_NIL_ATTRIBUTEignoreAttributesForNilisNullRepresentedByEmptyNodeisNullRepresentedByXsiNilisSetPerformedForAbsentNodemarshalNullRepresentationTRUEXSI_NIL_ATTRIBUTE

Constructor Summary

AccessConstructor and Description
public
NullPolicy()

Default Constructor

public
NullPolicy(String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil)

Specific Constructor to set the Unmarshal flags

public
NullPolicy(String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil, XMLNullRepresentationType aMarshalNullRepresentation)

Specific Constructor to set both the Marshal enum and the Unmarshal flags

Method Summary

Modifier and TypeMethod and Description
public void
setSetPerformedForAbsentNode(boolean performSet)

Set the isSetPerformedForAbsentNode flag

public void
xPathNode(XPathNode xPathNode, NullCapableValue nullCapableValue)

Implements abstract org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy.xPathNode.

INTERNAL: When using the SAX Platform this allows a NodeValue to be registered to receive events from the TreeObjectBuilder.
Inherited from org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy:
compositeObjectMarshalcompositeObjectMarshaldirectMarshaldirectMarshalgetIsSetPerformedForAbsentNodegetMarshalNullRepresentationignoreAttributesForNilisNullRepresentedByEmptyNodeisNullRepresentedByXsiNilprocessNamespaceResolverForXSIPrefixsetIgnoreAttributesForNilsetMarshalNullRepresentationsetNullRepresentedByEmptyNodesetNullRepresentedByXsiNilvalueIsNullvalueIsNull

Constructor Detail

NullPolicyback to summary
public NullPolicy()

Default Constructor

NullPolicyback to summary
public NullPolicy(String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil)

Specific Constructor to set the Unmarshal flags

NullPolicyback to summary
public NullPolicy(String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil, XMLNullRepresentationType aMarshalNullRepresentation)

Specific Constructor to set both the Marshal enum and the Unmarshal flags

Method Detail

setSetPerformedForAbsentNodeback to summary
public void setSetPerformedForAbsentNode(boolean performSet)

Set the isSetPerformedForAbsentNode flag

xPathNodeback to summary
public void xPathNode(XPathNode xPathNode, NullCapableValue nullCapableValue)

Implements abstract org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy.xPathNode.

Doc from org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy.xPathNode.

INTERNAL: When using the SAX Platform this allows a NodeValue to be registered to receive events from the TreeObjectBuilder.

Annotations
@Override