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  

XResultTreeFrag.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #if !defined(XRESULTTREEFRAG_HEADER_GUARD_1357924680)
00017 #define XRESULTTREEFRAG_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 // Base header file.  Must be first.
00022 #include <xalanc/XSLT/XSLTDefinitions.hpp>
00023 
00024 
00025 
00026 #include <xalanc/XalanDOM/XalanDOMString.hpp>
00027 
00028 
00029 
00030 #if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
00031 #include <xalanc/XPath/ResultTreeFragBase.hpp>
00032 #endif
00033 
00034 
00035 
00036 
00037 // Base class header file.
00038 #include <xalanc/XPath/NodeRefListBase.hpp>
00039 #include <xalanc/XPath/XObject.hpp>
00040 
00041 
00042 
00043 #include <xalanc/XSLT/StylesheetExecutionContext.hpp>
00044 
00045 
00046 
00047 XALAN_CPP_NAMESPACE_BEGIN
00048 
00049 
00050 
00051 class ResultTreeFrag;
00052 
00053 
00054 
00055 class XALAN_XSLT_EXPORT XResultTreeFrag : public XObject
00056 {
00057 public:
00058 
00059     typedef XObject     ParentType;
00060 
00061 
00067     XResultTreeFrag(XalanDocumentFragment&      value,
00068                     MemoryManagerType& theManager);
00069 
00076     XResultTreeFrag(
00077             const XResultTreeFrag&  source,
00078             MemoryManagerType&      theManager,
00079             bool                    deepClone = false);
00080 
00081     virtual
00082     ~XResultTreeFrag();
00083 
00084     MemoryManagerType&
00085     getMemoryManager()const
00086     {
00087         return m_cachedStringValue.getMemoryManager();
00088     }
00089 
00090     void
00091     setExecutionContext(StylesheetExecutionContext*     theExecutionContext)
00092     {
00093         m_executionContext = theExecutionContext;
00094     }
00095 
00096     // These methods are inherited from XObject ...
00097 
00098     virtual const XalanDOMString&
00099     getTypeString() const;
00100   
00101     virtual double
00102     num() const;
00103 
00104     virtual bool
00105     boolean() const;
00106 
00107     virtual const XalanDOMString&
00108     str() const;
00109 
00110     virtual void
00111     str(
00112             FormatterListener&  formatterListener,
00113             MemberFunctionPtr   function) const;
00114 
00115     virtual void
00116     str(XalanDOMString& theBuffer) const;
00117 
00118     virtual double
00119     stringLength() const;
00120 
00121     virtual const XalanDocumentFragment&
00122     rtree() const;
00123 
00124     virtual const NodeRefListBase&
00125     nodeset() const;
00126 
00127     virtual void
00128     ProcessXObjectTypeCallback(XObjectTypeCallback&     theCallbackObject);
00129 
00130     virtual void
00131     ProcessXObjectTypeCallback(XObjectTypeCallback&     theCallbackObject) const;
00132 
00136     XalanDocumentFragment*
00137     release();
00138 
00144     void
00145     set(XalanDocumentFragment&  theValue);
00146 
00147 protected:
00148 
00149     virtual void 
00150     dereferenced();
00151 
00152 private:
00153     //not implemented
00154     XResultTreeFrag();
00155     XResultTreeFrag(const XResultTreeFrag&);
00156 
00157     // Data members...
00158     XalanDocumentFragment*          m_value;    
00159 
00160     const XalanDOMString*           m_singleTextChildValue;
00161 
00162     StylesheetExecutionContext*     m_executionContext;
00163 
00164     mutable XalanDOMString          m_cachedStringValue;
00165 
00166     mutable double                  m_cachedNumberValue;
00167 };
00168 
00169 
00170 
00171 XALAN_CPP_NAMESPACE_END
00172 
00173 
00174 
00175 #endif  // XRESULTTREEFRAG_HEADER_GUARD_1357924680

Interpreting class diagrams

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

dot

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

Apache Logo