Class NullPolicy
- java.lang.Object
-
- org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy
-
- org.eclipse.persistence.oxm.mappings.nullpolicy.NullPolicy
-
public class NullPolicy extends AbstractNullPolicy
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:
- isSetPerformedForAbsentNode:
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>
- See Also:
NullCapableValue
- Since:
- Oracle TopLink 11g Release 1 (11.1.1)
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy
COLON_W_SCHEMA_NIL_ATTRIBUTE, ignoreAttributesForNil, isNullRepresentedByEmptyNode, isNullRepresentedByXsiNil, isSetPerformedForAbsentNode, marshalNullRepresentation, TRUE, XSI_NIL_ATTRIBUTE
-
-
Constructor Summary
Constructors Constructor Description NullPolicy()
Default ConstructorNullPolicy(java.lang.String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil)
Specific Constructor to set the Unmarshal flagsNullPolicy(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
setSetPerformedForAbsentNode(boolean performSet)
Set the isSetPerformedForAbsentNode flagvoid
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 org.eclipse.persistence.oxm.mappings.nullpolicy.AbstractNullPolicy
compositeObjectMarshal, compositeObjectMarshal, directMarshal, directMarshal, getIsSetPerformedForAbsentNode, getMarshalNullRepresentation, ignoreAttributesForNil, isNullRepresentedByEmptyNode, isNullRepresentedByXsiNil, processNamespaceResolverForXSIPrefix, setIgnoreAttributesForNil, setMarshalNullRepresentation, setNullRepresentedByEmptyNode, setNullRepresentedByXsiNil, valueIsNull, valueIsNull
-
-
-
-
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
-
xPathNode
public void xPathNode(org.eclipse.persistence.internal.oxm.XPathNode xPathNode, org.eclipse.persistence.internal.oxm.NullCapableValue nullCapableValue)
Description copied from class:AbstractNullPolicy
INTERNAL: When using the SAX Platform this allows a NodeValue to be registered to receive events from the TreeObjectBuilder.- Specified by:
xPathNode
in classAbstractNullPolicy
-
setSetPerformedForAbsentNode
public void setSetPerformedForAbsentNode(boolean performSet)
Set the isSetPerformedForAbsentNode flag- Parameters:
performSet
-
-
-