public class NullPolicy extends AbstractNullPolicy
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>
NullCapableValue
COLON_W_SCHEMA_NIL_ATTRIBUTE, ignoreAttributesForNil, isNullRepresentedByEmptyNode, isNullRepresentedByXsiNil, isSetPerformedForAbsentNode, marshalNullRepresentation, TRUE, XSI_NIL_ATTRIBUTE
Constructor and Description |
---|
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
|
Modifier and Type | Method and Description |
---|---|
void |
setSetPerformedForAbsentNode(boolean performSet)
Set the isSetPerformedForAbsentNode flag
|
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.
|
compositeObjectMarshal, compositeObjectMarshal, directMarshal, directMarshal, getIsSetPerformedForAbsentNode, getMarshalNullRepresentation, ignoreAttributesForNil, isNullRepresentedByEmptyNode, isNullRepresentedByXsiNil, processNamespaceResolverForXSIPrefix, setIgnoreAttributesForNil, setMarshalNullRepresentation, setNullRepresentedByEmptyNode, setNullRepresentedByXsiNil, valueIsNull, valueIsNull
public NullPolicy()
public NullPolicy(java.lang.String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil)
anIsSetMethodName
- bIsSetPerformedForAbsentNode
- bIsNullRepresentedByEmptyNode
- bIsNullRepresentedByXsiNil
- public NullPolicy(java.lang.String anIsSetMethodName, boolean bIsSetPerformedForAbsentNode, boolean bIsNullRepresentedByEmptyNode, boolean bIsNullRepresentedByXsiNil, XMLNullRepresentationType aMarshalNullRepresentation)
anIsSetMethodName
- bIsSetPerformedForAbsentNode
- bIsNullRepresentedByEmptyNode
- bIsNullRepresentedByXsiNil
- aMarshalNullRepresentation
- public void xPathNode(org.eclipse.persistence.internal.oxm.XPathNode xPathNode, org.eclipse.persistence.internal.oxm.NullCapableValue nullCapableValue)
AbstractNullPolicy
xPathNode
in class AbstractNullPolicy
public void setSetPerformedForAbsentNode(boolean performSet)
performSet
-