Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

B32476-02


oracle.toplink.ox.mappings.nullpolicy
Class NullPolicy

java.lang.Object
  extended by oracle.toplink.ox.mappings.nullpolicy.AbstractNullPolicy
      extended by oracle.toplink.ox.mappings.nullpolicy.NullPolicy


public class NullPolicy
extends AbstractNullPolicy

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:
oracle.toplink.internal.ox.NullCapableValue

Constructor Summary
NullPolicy()
          Default Constructor
NullPolicy(java.lang.String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil)
          Specific Constructor to set the Unmarshal flags
NullPolicy(java.lang.String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil, XMLNullRepresentationType aMarshalNullRepresentation)
          Specific Constructor to set both the Marshal enum and the Unmarshal flags

 

Method Summary
 void setSetPerformedForAbsentNode(boolean performSet)
          Set the isSetPerformedForAbsentNode flag

 

Methods inherited from class oracle.toplink.ox.mappings.nullpolicy.AbstractNullPolicy
getIsSetPerformedForAbsentNode, getMarshalNullRepresentation, isNullRepresentedByEmptyNode, isNullRepresentedByXsiNil, setMarshalNullRepresentation, setNullRepresentedByEmptyNode, setNullRepresentedByXsiNil

 

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

NullPolicy

public NullPolicy()
Default Constructor

NullPolicy

public NullPolicy(java.lang.String anIsSetMethodName,
                  boolean bIsSetPerformedForAbsentNode,
                  boolean bIsNullRepresentedByEmptyNode,
                  boolean bIsNullRepresentedByXsiNil)
Specific Constructor to set the Unmarshal flags
Parameters:
anIsSetMethodName -
bIsSetPerformedForAbsentNode -
bIsNullRepresentedByEmptyNode -
bIsNullRepresentedByXsiNil -

NullPolicy

public NullPolicy(java.lang.String anIsSetMethodName,
                  boolean bIsSetPerformedForAbsentNode,
                  boolean bIsNullRepresentedByEmptyNode,
                  boolean bIsNullRepresentedByXsiNil,
                  XMLNullRepresentationType aMarshalNullRepresentation)
Specific Constructor to set both the Marshal enum and the Unmarshal flags
Parameters:
anIsSetMethodName -
bIsSetPerformedForAbsentNode -
bIsNullRepresentedByEmptyNode -
bIsNullRepresentedByXsiNil -
aMarshalNullRepresentation -

Method Detail

setSetPerformedForAbsentNode

public void setSetPerformedForAbsentNode(boolean performSet)
Set the isSetPerformedForAbsentNode flag
Parameters:
performSet -

Skip navigation links

Copyright © 1998, 2009, Oracle. All Rights Reserved.