18#if !defined(XOBJECTFACTORY_HEADER_GUARD_1357924680)
19#define XOBJECTFACTORY_HEADER_GUARD_1357924680
42class MutableNodeRefList;
71 return m_memoryManager;
167 const XalanDOMChar* theValue,
168 XalanSize_t theLength) = 0;
247 bool fInReset =
false) :
248 m_factoryInstance(theFactoryInstance),
256 if (m_fInReset ==
true)
258 return m_factoryInstance.doReturnObject(
264 return m_factoryInstance.returnObject(theXObject);
272 const bool m_fInReset;
301 const_cast<XObject*
>(theXObject);
305 m_memoryManager.deallocate(nonConst);
319 bool fInReset =
false) = 0;
332 MemoryManager& m_memoryManager;
#define XALAN_XPATH_EXPORT
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.
virtual eObjectType getRealType() const
Tell what kind of class this is.
GetCachedNodeList BorrowReturnMutableNodeRefList
A public functor for use with stl algorithms.
bool operator()(XObject *theXObject) const
DeleteXObjectFunctor(XObjectFactory &theFactoryInstance, bool fInReset=false)