## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.10

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# XObject Class Reference

Class to hold XPath return types. More...

`#include <XObject.hpp>`

Inheritance diagram for XObject:

[legend]
Collaboration diagram for XObject:

[legend]
List of all members.

## Public Types

- typedef void (FormatterListener::* MemberFunctionPtr )(const XMLCh *const, const unsigned int)
- enum eObjectType {
  eTypeNull = 0, eTypeUnknown = 1, eTypeBoolean = 2, eTypeNumber = 3,
  eTypeString = 4, eTypeNodeSet = 5, eTypeResultTreeFrag = 6, eTypeUserDefined = 7,
  eTypeStringReference = 8, eTypeStringAdapter = 9, eTypeStringCached = 10, eTypeXTokenNumberAdapter = 11,
  eTypeXTokenStringAdapter = 12, eTypeNodeSetNodeProxy = 13, eUnknown
  }
    Enumeration of possible object types. More...

## Public Methods

- XObject (eObjectType theObjectType)
    Create an XObject. More...
- XObject (const XObject &source)
- virtual const XalanDOMString& getTypeString () const=0
    Given a request type, return the equivalent string. More...
- virtual double num () const
    Cast result object to a number. More...
- virtual bool boolean () const
    Cast result object to a boolean. More...
- virtual const XalanDOMString& str () const
    Cast result object to a string. More...
- virtual void str (FormatterListener &formatterListener, MemberFunctionPtr function) const=0
    Send the string value to a FormatterListener instance. More...
- virtual double stringLength () const=0
    Get the length of the string value of the instance.. More...
- virtual void str (XalanDOMString &theBuffer) const
    Append the string value directly a string. More...
- virtual const XalanDocumentFragment& rtree () const
    Cast result object to a result tree fragment. More...
- virtual const NodeRefListBase& nodeset () const
    Cast result object to a nodelist. More...
- virtual void ProcessXObjectTypeCallback (XObjectTypeCallback &theCallbackObject)=0
    Process a callback request for preferred type information. More...
- virtual void ProcessXObjectTypeCallback (XObjectTypeCallback &theCallbackObject) const=0
    Process a callback request for preferred type information. More...
- bool equals (const XObject &theRHS, XPathExecutionContext &executionContext) const
    Tell if two objects are functionally equal. More...
- bool notEquals (const XObject &theRHS, XPathExecutionContext &executionContext) const
    Tell if two objects are functionally not equal. More...
- bool lessThan (const XObject &theRHS, XPathExecutionContext &executionContext) const
    Tell if one object is less than the other. More...
- bool lessThanOrEquals (const XObject &theRHS, XPathExecutionContext &executionContext) const
    Tell if one object is less than or equal the other. More...
- bool greaterThan (const XObject &theRHS, XPathExecutionContext &executionContext) const
    Tell if one object is greater than the other. More...
- bool greaterThanOrEquals (const XObject &theRHS, XPathExecutionContext &executionContext) const
    Tell if one object is greater than or equal the other. More...
- eObjectType getType () const
    Tell what kind of class this is. More...
- void setFactory (XObjectFactory *theFactory)

## Static Public Methods

- void initialize (MemoryManagerType &theManager)
    Perform static initialization. More...
- void terminate ()
    Perform static shut down. More...
- bool boolean (double theNumber)
    Static conversion function. More...
- bool boolean (const XalanDOMString &theString)
    Static conversion function. More...
- bool boolean (const NodeRefListBase &theNodeList)
    Static conversion function. More...
- const XalanDOMString& string (bool theBool)
    Static conversion function. More...
- void string (bool theBool, FormatterListener &formatterListener, MemberFunctionPtr function)
- void string (double theNumber, XalanDOMString &theString)
    Static conversion function. More...
- void string (double theNumber, FormatterListener &formatterListener, MemberFunctionPtr function)
- void string (const XalanNode &theNode, XalanDOMString &theString)
    Static conversion function. More...
- void string (const XalanNode &theNode, FormatterListener &formatterListener, MemberFunctionPtr function)
- void string (const NodeRefListBase &theNodeList, XalanDOMString &theString)
    Static conversion function. More...
- void string (const NodeRefListBase &theNodeList, FormatterListener &formatterListener, MemberFunctionPtr function)
- double number (bool theBoolean)
    Static conversion function. More...
- double number (const XalanDOMString &theString, MemoryManagerType &theManager)
- double number (XPathExecutionContext &executionContext, const NodeRefListBase &theNodeList)
    Static conversion function. More...
- double number (XPathExecutionContext &executionContext, const XalanNode &theNode)
    Static conversion function. More...

## Protected Methods

- virtual eObjectType getRealType () const
    Tell what kind of class this is. More...
- virtual void referenced ()
- virtual void dereferenced ()
- virtual ~XObject ()

## Static Protected Attributes

- const XalanDOMString s_emptyString
- const XalanDOMString& s_booleanString
- const XalanDOMString& s_falseString
- const XalanDOMString& s_nodesetString
- const XalanDOMString& s_numberString
- const XalanDOMString& s_resultTreeFragmentString
- const XalanDOMString& s_stringString
- const XalanDOMString& s_trueString

## Friends

- class XObjectPtr
- class XObjectFactory

## Detailed Description

Class to hold XPath return types.

## Member Typedef Documentation

typedef void(FormatterListener::* XObject::MemberFunctionPtr)(const XMLCh *const, const unsigned int)

## Member Enumeration Documentation

enum XObject::eObjectType

Enumeration of possible object types.

Enumeration values:

  eTypeNull |
  eTypeUnknown |
  eTypeBoolean |
  eTypeNumber |
  eTypeString |
  eTypeNodeSet |
  eTypeResultTreeFrag |
  eTypeUserDefined |
  eTypeStringReference |
  eTypeStringAdapter |
  eTypeStringCached |
  eTypeXTokenNumberAdapter |
  eTypeXTokenStringAdapter |
  eTypeNodeSetNodeProxy |
  eUnknown |

## Constructor & Destructor Documentation

XObject::XObject ( | eObjectType theObjectType )

Create an XObject.

Parameters:

  theObjectType | The enum for the type of the object.

XObject::XObject ( | const XObject & source )

XObject::~XObject ( | )`[protected, virtual]`

## Member Function Documentation

void XObject::ProcessXObjectTypeCallback ( | XObjectTypeCallback & theCallbackObject ) const`[pure virtual]`

Process a callback request for preferred type information.

Parameters:

  theCallbackObject | object to call back

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumberBase, XStringBase, XToken, XUnknown, and XResultTreeFrag.

void XObject::ProcessXObjectTypeCallback ( | XObjectTypeCallback & theCallbackObject )`[pure virtual]`

Process a callback request for preferred type information.

Parameters:

  theCallbackObject | object to call back

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumberBase, XStringBase, XToken, XUnknown, and XResultTreeFrag.

bool XObject::boolean ( | const NodeRefListBase & theNodeList )`[static]`

Static conversion function.

Returns:
  bool value

bool XObject::boolean ( | const XalanDOMString & theString )`[static]`

Static conversion function.

Returns:
  bool value

bool XObject::boolean ( | double theNumber )`[static]`

Static conversion function.

Returns:
  bool value

bool XObject::boolean ( | ) const`[virtual]`

Cast result object to a boolean.

Returns:
  boolean value

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumberBase, XStringBase, XToken, XUnknown, and XResultTreeFrag.

void XObject::dereferenced ( | )`[protected, virtual]`

| Reimplemented from XalanReferenceCountedObject. Reimplemented in XToken, and XResultTreeFrag.

bool XObject::equals ( | const XObject & theRHS,
| XPathExecutionContext & executionContext ) const

Tell if two objects are functionally equal.

Parameters:

  theRHS | object to compare
  executionContext | the current execution context

Returns:
  true if they are equal

eObjectType XObject::getRealType ( | ) const`[protected, virtual]`

Tell what kind of class this is.

Returns:
  numeric type value

Reimplemented in XNodeSetNodeProxy, XStringAdapter, XStringCached, XStringReference, XTokenNumberAdapter, and XTokenStringAdapter.

eObjectType XObject::getType ( | ) const

Tell what kind of class this is.

Returns:
  numeric type value

const XalanDOMString & XObject::getTypeString ( | ) const`[pure virtual]`

Given a request type, return the equivalent string.

For diagnostic purposes.

Returns:
  string for type

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumberBase, XStringBase, XToken, XUnknown, and XResultTreeFrag.

bool XObject::greaterThan ( | const XObject & theRHS,
| XPathExecutionContext & executionContext ) const

Tell if one object is greater than the other.

Parameters:

  theRHS | object to compare

Returns:
  true if they are equal

bool XObject::greaterThanOrEquals ( | const XObject & theRHS,
| XPathExecutionContext & executionContext ) const

Tell if one object is greater than or equal the other.

Parameters:

  theRHS | object to compare

Returns:
  true if they are equal

void XObject::initialize ( | MemoryManagerType & theManager )`[static]`

| Perform static initialization. See class XPathInit. Reimplemented in XUnknown.

bool XObject::lessThan ( | const XObject & theRHS,
| XPathExecutionContext & executionContext ) const

Tell if one object is less than the other.

Parameters:

  theRHS | object to compare

Returns:
  true if they are equal

bool XObject::lessThanOrEquals ( | const XObject & theRHS,
| XPathExecutionContext & executionContext ) const

Tell if one object is less than or equal the other.

Parameters:

  theRHS | object to compare

Returns:
  true if they are equal

const NodeRefListBase & XObject::nodeset ( | ) const`[virtual]`

Cast result object to a nodelist.

Returns:
  node list

Reimplemented in XNodeSet, XNodeSetBase, XNodeSetNodeProxy, and XResultTreeFrag.

bool XObject::notEquals ( | const XObject & theRHS,
| XPathExecutionContext & executionContext ) const

Tell if two objects are functionally not equal.

Parameters:

  theRHS | object to compare
  executionContext | the current execution context

Returns:
  true if they are equal

double XObject::num ( | ) const`[virtual]`

Cast result object to a number.

Returns:
  numeric value

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumber, XNumberBase, XStringBase, XToken, XTokenNumberAdapter, XTokenStringAdapter, XUnknown, and XResultTreeFrag.

double XObject::number ( | XPathExecutionContext & executionContext,
| const XalanNode & theNode )`[static]`

Static conversion function.

Returns:
  The number value of the node

double XObject::number ( | XPathExecutionContext & executionContext,
| const NodeRefListBase & theNodeList )`[static]`

Static conversion function.

Returns:
  The number value of the node list

double XObject::number ( | const XalanDOMString & theString,
| MemoryManagerType & theManager )`[static]`

double XObject::number ( | bool theBoolean )`[static]`

Static conversion function.

Returns:
  bool value

void XObject::referenced ( | )`[protected, virtual]`

| Reimplemented from XalanReferenceCountedObject. Reimplemented in XToken.

const XalanDocumentFragment & XObject::rtree ( | ) const`[virtual]`

Cast result object to a result tree fragment.

Returns:
  result tree fragment

Reimplemented in XNodeSetBase, XStringBase, and XResultTreeFrag.

void XObject::setFactory ( | XObjectFactory * theFactory )

void XObject::str ( | XalanDOMString & theBuffer ) const`[virtual]`

Append the string value directly a string.

Parameters:

  theBuffer | The buffer for the data

Reimplemented in XNodeSetBase, XNumber, XToken, XTokenNumberAdapter, XTokenStringAdapter, and XResultTreeFrag.

void XObject::str ( | FormatterListener & formatterListener,
| MemberFunctionPtr function ) const`[pure virtual]`

Send the string value to a FormatterListener instance.

Parameters:

  formatterListener | The FormatterListener instance
  function | A pointer to the member function of FormatterListener to call

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumber, XNumberBase, XString, XStringAdapter, XStringBase, XStringCached, XStringReference, XToken, XTokenNumberAdapter, XTokenStringAdapter, XUnknown, and XResultTreeFrag.

const XalanDOMString & XObject::str ( | ) const`[virtual]`

Cast result object to a string.

Returns:
  string value

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumber, XNumberBase, XString, XStringAdapter, XStringBase, XStringCached, XStringReference, XToken, XTokenNumberAdapter, XTokenStringAdapter, XUnknown, and XResultTreeFrag.

void XObject::string ( | const NodeRefListBase & theNodeList,
| FormatterListener & formatterListener,
| MemberFunctionPtr function )`[static]`

void XObject::string ( | const NodeRefListBase & theNodeList,
| XalanDOMString & theString )`[static]`

Static conversion function.

Returns:
  The string value of the node list

void XObject::string ( | const XalanNode & theNode,
| FormatterListener & formatterListener,
| MemberFunctionPtr function )`[static]`

void XObject::string ( | const XalanNode & theNode,
| XalanDOMString & theString )`[static]`

Static conversion function.

Returns:
  The string value of the node

void XObject::string ( | double theNumber,
| FormatterListener & formatterListener,
| MemberFunctionPtr function )`[static]`

void XObject::string ( | double theNumber,
| XalanDOMString & theString )`[static]`

Static conversion function.

Returns:
  The string value of the number

void XObject::string ( | bool theBool,
| FormatterListener & formatterListener,
| MemberFunctionPtr function )`[static]`

const XalanDOMString & XObject::string ( | bool theBool )`[static]`

Static conversion function.

Returns:
  The string value of the number

double XObject::stringLength ( | ) const`[pure virtual]`

Get the length of the string value of the instance..

Returns:
  The length of the string value

Reimplemented in XBoolean, XNodeSetBase, XNull, XNumber, XNumberBase, XString, XStringAdapter, XStringBase, XStringCached, XStringReference, XToken, XTokenNumberAdapter, XTokenStringAdapter, XUnknown, and XResultTreeFrag.

void XObject::terminate ( | )`[static]`

| Perform static shut down. See class XPathInit. Reimplemented in XNull, and XUnknown.

## Friends And Related Function Documentation

class XObjectFactory`[friend]`

class XObjectPtr`[friend]`

## Member Data Documentation

const XalanDOMString & XObject::s_booleanString`[static, protected]`

const XalanDOMString XObject::s_emptyString`[static, protected]`

const XalanDOMString & XObject::s_falseString`[static, protected]`

const XalanDOMString & XObject::s_nodesetString`[static, protected]`

const XalanDOMString & XObject::s_numberString`[static, protected]`

const XalanDOMString & XObject::s_resultTreeFragmentString`[static, protected]`

const XalanDOMString & XObject::s_stringString`[static, protected]`

const XalanDOMString & XObject::s_trueString`[static, protected]`

The documentation for this class was generated from the following file:

- XObject.hpp

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.10 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.