## Xalan-C++ API Documentation

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

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

Collaboration diagram for XObject:

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 XObject* clone (void* theAddress = 0) const = 0
    Clone the instance. More...
- virtual 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 ()
    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)
- 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_nullString
- XalanDOMString s_falseString
- 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 )

virtual 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, XResultTreeFrag, XStringBase, XToken, and XUnknown.

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, XResultTreeFrag, XStringBase, XToken, and XUnknown.

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, XResultTreeFrag, XStringBase, XToken, and XUnknown.

XObject * XObject::clone ( | void * theAddress = 0 ) const`[pure virtual]`

Clone the instance.

Parameters:

  If | theAddress is not null, the XObject will clone itself into that address.

Returns:
  a clone of the instance.

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

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

Reimplemented from XalanReferenceCountedObject.

Reimplemented in XResultTreeFrag, and XToken.

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

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, XResultTreeFrag, XStringBase, XToken, and XUnknown.

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 ( | )`[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, XResultTreeFrag, XStringBase, XToken, XTokenNumberAdapter, XTokenStringAdapter, and XUnknown.

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 )`[static]`

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

Static conversion function.

Returns:
  bool value

virtual 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, XResultTreeFrag, and XStringBase.

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, XResultTreeFrag, XToken, XTokenNumberAdapter, and XTokenStringAdapter.

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, XResultTreeFrag, XString, XStringAdapter, XStringBase, XStringCached, XStringReference, XToken, XTokenNumberAdapter, XTokenStringAdapter, and XUnknown.

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

Cast result object to a string.

Returns:
  string value

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

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, XResultTreeFrag, XString, XStringAdapter, XStringBase, XStringCached, XStringReference, XToken, XTokenNumberAdapter, XTokenStringAdapter, and XUnknown.

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

Perform static shut down.

See class XPathInit.

Reimplemented in XUnknown.

## Friends And Related Function Documentation

class XObjectFactory`[friend]`

class XObjectPtr`[friend]`

## Member Data Documentation

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

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

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.7 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.