18#if !defined(XOBJECTFACTORY_HEADER_GUARD_1357924680)
19#define XOBJECTFACTORY_HEADER_GUARD_1357924680
42class MutableNodeRefList;
71 return m_memoryManager;
256 if (m_fInReset ==
true)
258 return m_factoryInstance.doReturnObject(
264 return m_factoryInstance.returnObject(
theXObject);
272 const bool m_fInReset;
305 m_memoryManager.deallocate(
nonConst);
332 MemoryManager& m_memoryManager;
#define XALAN_XPATH_EXPORT
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
This class handles the creation of XObjects and manages their lifetime.
virtual const XObjectPtr createString(const XalanDOMChar *theValue, XalanSize_t theLength)=0
Create a string XObject from an array of characters.
virtual const XObjectPtr createNumber(const XToken &theValue)=0
Create a numeric XObject from an XToken.
bool returnObject(XObject *theXObject)
Return an XObject to the factory.
virtual const XObjectPtr createString(const XalanDOMString &theValue)=0
Create a string XObject from a string.
virtual const XObjectPtr createUnknown(const XalanDOMString &theValue)=0
Create an "unknown" XObject from a string.
virtual void holdReference(XObjectPtr theValue)=0
Hold a reference to an XObject instance until the factory is reset.
MemoryManager & getMemoryManager()
virtual const XObjectPtr createStringReference(const XalanDOMString &theValue)=0
Create a string XObject from a string.
XPathExecutionContext::GetCachedString GetCachedString
XObject::eObjectType getRealType(const XObject &theXObject) const
Return the actual implementation type of an XObject.
XObjectFactory(MemoryManager &theManager)
virtual const XObjectPtr createNumber(double theValue)=0
Create a numeric XObject from a number.
void deleteObject(const XObject *theXObject) const
Delete a FactoryObject instance.
virtual const XObjectPtr createStringAdapter(const XObjectPtr &theValue, XPathExecutionContext &theExecutionContext)=0
Create a string XObject that will adapt another XObject to behave like a string.
virtual void reset()=0
Reset the instance.
virtual const XObjectPtr createString(const XalanDOMChar *theValue)=0
Create a string XObject from a null-terminated array of characters.
virtual const XObjectPtr createString(GetCachedString &theValue)=0
Create a string XObject from a cached XalanDOMString,.
virtual bool doReturnObject(XObject *theXObject, bool fInReset=false)=0
Return an XObject to the factory.
XPathExecutionContext::BorrowReturnMutableNodeRefList BorrowReturnMutableNodeRefList
XPathExecutionContext::GetCachedString GetAndReleaseCachedString
virtual ~XObjectFactory()
virtual const XObjectPtr createNodeSet(BorrowReturnMutableNodeRefList &theValue)=0
Create a node set XObject from a node list.
virtual const XObjectPtr createString(const XToken &theValue)=0
Create a string XObject from an XToken.
virtual const XObjectPtr createBoolean(bool theValue)=0
Create a boolean XObject from a boolean value.
virtual const XObjectPtr createNodeSet(XalanNode *theValue)=0
Create a node set XObject from a node.
Class to hold XObjectPtr return types.
Class to hold XPath return types.
eObjectType
Enumeration of possible object types.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
A public functor for use with stl algorithms.
bool operator()(XObject *theXObject) const
DeleteXObjectFunctor(XObjectFactory &theFactoryInstance, bool fInReset=false)