16 #if !defined(XOBJECT_HEADER_GUARD_1357924680)
17 #define XOBJECT_HEADER_GUARD_1357924680
45 XALAN_CPP_NAMESPACE_BEGIN
76 eTypeResultTreeFrag = 6,
80 eTypeStringReference = 8,
81 eTypeStringAdapter = 9,
82 eTypeStringCached = 10,
83 eTypeXTokenNumberAdapter = 11,
84 eTypeXTokenStringAdapter = 12,
85 eTypeNodeSetNodeProxy = 13,
106 XObject(eObjectType theObjectType);
118 getTypeString()
const = 0;
156 MemberFunctionPtr
function)
const = 0;
164 stringLength()
const = 0;
306 return theString.
length() == 0 ?
false :
true;
317 return theNodeList.
getLength() == 0 ?
false :
true;
328 return theBool ==
true ? s_trueString : s_falseString;
335 MemberFunctionPtr
function)
339 (formatterListener.*
function)(s_trueString.c_str(), s_trueString.length());
343 (formatterListener.*
function)(s_falseString.c_str(), s_falseString.length());
364 MemberFunctionPtr
function)
386 MemberFunctionPtr
function)
403 assert(theNodeList.
item(0) != 0);
405 string(*theNodeList.
item(0), theString);
413 MemberFunctionPtr
function)
417 assert(theNodeList.
item(0) != 0);
431 return theBoolean ==
true ? 1.0 : 0.0;
468 m_factory = theFactory;
486 virtual const XalanDOMChar*
493 static const XalanDOMChar m_type[];
510 virtual const XalanDOMChar*
519 static const XalanDOMChar m_type[];
596 m_xobjectPtr(theXObject)
602 m_xobjectPtr(theSource.m_xobjectPtr)
610 if (m_xobjectPtr != theRHS.m_xobjectPtr)
614 m_xobjectPtr = theRHS.m_xobjectPtr;
630 XObject*
const xobjectPtr = m_xobjectPtr;
640 return m_xobjectPtr == 0 ?
true :
false;
646 return *m_xobjectPtr;
652 return *m_xobjectPtr;
691 return theLHS.m_xobjectPtr == theRHS.m_xobjectPtr;
701 return !(theLHS == theRHS);
711 return theLHS.m_xobjectPtr < theRHS.m_xobjectPtr;
716 XALAN_CPP_NAMESPACE_END
720 #endif // XOBJECT_HEADER_GUARD_1357924680
eObjectType getType() const
Tell what kind of class this is.
Definition: XObject.hpp:282
static void string(double theNumber, XalanDOMString &theString)
Static conversion function.
Definition: XObject.hpp:353
XObjectPtr(XObject *theXObject=0)
Create an XObjectPtr.
Definition: XObject.hpp:595
Definition: XalanNode.hpp:44
size_type length() const
Definition: XalanDOMString.hpp:209
The purpose of this class is to provide a way to get the "preferred" or closest matching type for XOb...
Definition: XObjectTypeCallback.hpp:51
Class to hold reference count information.
Definition: XalanReferenceCountedObject.hpp:33
Local implementation of MutableNodeRefList.
Definition: MutableNodeRefList.hpp:44
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
static const XalanDOMString & s_falseString
Definition: XObject.hpp:556
eObjectType
Enumeration of possible object types.
Definition: XObject.hpp:70
static void string(const XalanNode &theNode, FormatterListener &formatterListener, MemberFunctionPtr function)
Definition: XObject.hpp:383
virtual void dereferenced()=0
Definition: XObject.hpp:496
static const XalanDOMString & string(bool theBool)
Static conversion function.
Definition: XObject.hpp:326
Definition: XalanDocumentFragment.hpp:38
Definition: XObject.hpp:472
static const XalanDOMString & s_resultTreeFragmentString
Definition: XObject.hpp:562
void release()
Definition: XObject.hpp:628
DoubleToDOMString(double theValue, XalanDOMString &theResult)
Converts a double value into a XalanDOMString.
virtual size_type getLength() const =0
Determine the number of nodes in the list.
virtual void referenced()=0
static void getNodeData(const XalanNode &node, XalanDOMString &data)
Retrieves data for node.
static const XalanDOMString & s_trueString
Definition: XObject.hpp:566
Class to hold XObjectPtr return types.
Definition: XObject.hpp:584
virtual XalanNode * item(size_type index) const =0
Returns the indexth item in the collection.
Definition: XPathExecutionContext.hpp:72
const XObject * operator->() const
Definition: XObject.hpp:656
XObject * operator->()
Definition: XObject.hpp:662
Local implementation of NodeRefList.
Definition: NodeRefListBase.hpp:42
static double number(const XalanDOMString &theString, MemoryManagerType &theManager)
Definition: XObject.hpp:435
XObjectPtr(const XObjectPtr &theSource)
Definition: XObject.hpp:601
static bool boolean(const NodeRefListBase &theNodeList)
Static conversion function.
Definition: XObject.hpp:315
static void addReference(XalanReferenceCountedObject *theInstance)
Increment reference count.
static const XalanDOMString & s_numberString
Definition: XObject.hpp:560
static MemoryManager & getDummyMemMgr()
bool operator!=(const XObjectPtr &theLHS, const XObjectPtr &theRHS)
Definition: XObject.hpp:697
static void string(const NodeRefListBase &theNodeList, XalanDOMString &theString)
Static conversion function.
Definition: XObject.hpp:397
static void removeReference(XalanReferenceCountedObject *theInstance)
Decrement reference count.
bool operator==(const XObjectPtr &theLHS, const XObjectPtr &theRHS)
Definition: XObject.hpp:687
static void string(bool theBool, FormatterListener &formatterListener, MemberFunctionPtr function)
Definition: XObject.hpp:332
static const XalanDOMString s_emptyString
Definition: XObject.hpp:552
static void string(const NodeRefListBase &theNodeList, FormatterListener &formatterListener, MemberFunctionPtr function)
Definition: XObject.hpp:410
Class to hold XPath return types.
Definition: XObject.hpp:61
static bool boolean(double theNumber)
Static conversion function.
Definition: XObject.hpp:293
void setFactory(XObjectFactory *theFactory)
Definition: XObject.hpp:466
bool operator<(const XObjectPtr &theLHS, const XObjectPtr &theRHS)
Definition: XObject.hpp:707
static void string(double theNumber, FormatterListener &formatterListener, MemberFunctionPtr function)
Definition: XObject.hpp:361
static void DoubleToCharacters(double theDouble, FormatterListener &formatterListener, MemberFunctionPtr function)
static bool boolean(const XalanDOMString &theString)
Static conversion function.
Definition: XObject.hpp:304
static bool isNaN(double theNumber)
Determine if target is not a number.
Definition: DoubleSupport.hpp:73
virtual const XalanDOMChar * getType() const
Retrieve type of exception.
Definition: XObject.hpp:511
~XObjectPtr()
Definition: XObject.hpp:622
const XObject & operator*() const
Definition: XObject.hpp:644
virtual const XalanDOMChar * getType() const
Retrieve type of exception.
Definition: XObject.hpp:487
Definition: XalanDOMString.hpp:42
static double number(bool theBoolean)
Static conversion function.
Definition: XObject.hpp:429
XObject & operator*()
Definition: XObject.hpp:650
XObjectPtr & operator=(const XObjectPtr &theRHS)
Definition: XObject.hpp:608
static const XalanDOMString & s_booleanString
Definition: XObject.hpp:554
static double toDouble(const XalanDOMString &theString, MemoryManager &theManager)
Convert a string to a double value.
static void string(const XalanNode &theNode, XalanDOMString &theString)
Static conversion function.
Definition: XObject.hpp:375
bool null() const
Definition: XObject.hpp:638
#define XALAN_XPATH_EXPORT
Definition: XPathDefinitions.hpp:33
static const XalanDOMString & s_stringString
Definition: XObject.hpp:564
equals(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanDOMString::size_type theLength)
Compare the contents of two arrays for equality.
This class handles the creation of XObjects and manages their lifetime.
Definition: XObjectFactory.hpp:51
static bool equal(double theLHS, double theRHS)
Compare two double values, taking into account the fact that we must support IEEE 754...
Definition: XalanXPathException.hpp:44
static const XalanDOMString & s_nodesetString
Definition: XObject.hpp:558