org.apache.xpath.objects

## Class XNull

- java.lang.Object
- - org.apache.xpath.Expression
  - - org.apache.xpath.objects.XObject
    - - org.apache.xpath.axes.NodeSequence
      - - org.apache.xpath.objects.XNodeSet
        - - org.apache.xpath.objects.XNull

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, SourceLocator, DTMIterator, PathComponent, ExpressionNode, XPathVisitable

    public class XNull
    extends XNodeSet

This class represents an XPath null object, and is capable of converting the null to other types, such as a string.

See Also:
  Serialized Form
Usage:

### Field Summary

### Fields inherited from class org.apache.xpath.objects.XObject

`CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE`

### Fields inherited from interface org.apache.xml.dtm.DTMIterator

`FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP`

### Constructor Summary

Constructors
Constructor and Description
`XNull()` Create an XObject.

### Method Summary

Methods
`boolean` `bool()` Cast result object to a boolean.
`boolean` `equals(XObject obj2)` Tell if two objects are functionally equal.
`int` `getType()` Tell what kind of class this is.
`java.lang.String` `getTypeString()` Given a request type, return the equivalent string.
`double` `num()` Cast result object to a number.
`int` `rtf(XPathContext support)` Cast result object to a result tree fragment.
`java.lang.String` `str()` Cast result object to a string.

### Methods inherited from class org.apache.xpath.objects.XNodeSet

`appendToFsb, boolWithSideEffects, compare, dispatchCharactersEvents, getFresh, getNumberFromNode, getStringFromNode, greaterThan, greaterThanOrEqual, iter, iterRaw, lessThan, lessThanOrEqual, mutableNodeset, nodelist, nodeset, notEquals, numWithSideEffects, object, release, xstr`

### Methods inherited from class org.apache.xpath.axes.NodeSequence

`allowDetachToRelease, clone, cloneWithReset, detach, fixupVariables, getAnalysisBits, getAxis, getContainedIter, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getLength, getRoot, getWhatToShow, hasCache, isDocOrdered, isFresh, isMutable, item, nextNode, previousNode, reset, runTo, setCurrentPos, setItem, setIter, setRoot, setShouldCacheNodes`

### Methods inherited from class org.apache.xpath.objects.XObject

`callVisitors, castToType, create, create, deepEquals, destruct, execute, rtf, rtree, rtree, toString`

### Methods inherited from class org.apache.xpath.Expression

`asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### XNull

    public XNull()

Create an XObject.

### Method Detail

#### getType

    public int getType()

Tell what kind of class this is.

Overrides:
  `getType` in class `XNodeSet`
Returns:
  type CLASS_NULL

#### getTypeString

    public java.lang.String getTypeString()

Given a request type, return the equivalent string. For diagnostic purposes.

Overrides:
  `getTypeString` in class `XNodeSet`
Returns:
  type string "#CLASS_NULL"

#### num

    public double num()

Cast result object to a number.

Overrides:
  `num` in class `XNodeSet`
Returns:
  0.0

#### bool

    public boolean bool()

Cast result object to a boolean.

Overrides:
  `bool` in class `XNodeSet`
Returns:
  false

#### str

    public java.lang.String str()

Cast result object to a string.

Overrides:
  `str` in class `XNodeSet`
Returns:
  empty string ""

#### rtf

    public int rtf(XPathContext support)

Cast result object to a result tree fragment.

Overrides:
  `rtf` in class `XObject`
Parameters:
  `support` - XPath context to use for the conversion
Returns:
  The object as a result tree fragment.

#### equals

    public boolean equals(XObject obj2)

Tell if two objects are functionally equal.

Overrides:
  `equals` in class `XNodeSet`
Parameters:
  `obj2` - Object to compare this to
Returns:
  True if the given object is of type CLASS_NULL