Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XalanEXSLTCommonImpl.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(EXSLT_COMMONIMPL_HEADER_GUARD_1357924680)
17 #define EXSLT_COMMONIMPL_HEADER_GUARD_1357924680
18 
19 
20 
22 
23 
24 
26 
27 
28 
30 
31 
32 
34 
35 
36 
37 XALAN_CPP_NAMESPACE_BEGIN
38 
39 
40 
42 {
43 public:
44 
46  FunctionNodeSet(true)
47  {
48  }
49 
50  virtual
52  {
53  }
54 
55 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
56  virtual Function*
57 #else
59 #endif
60  clone(MemoryManagerType& theManager) const
61  {
62  return XalanCopyConstruct(theManager, *this);
63  }
64 
65 protected:
66 
67  virtual const XalanDOMString&
68  getError(XalanDOMString& theBuffer) const
69  {
71  theBuffer,
72  XalanMessages::EXSLTFunctionAcceptsOneArgument_1Param,
73  "node-set()");
74 
75  return theBuffer;
76  }
77 
78 
79  virtual const XalanDOMString&
81  {
83  theResult,
84  XalanMessages::InvalidArgumentType_1Param,
85  "node-set()");
86 
87  return theResult;
88  }
89 
90 private:
91 
92  // Not implemented...
94  operator=(const XalanEXSLTFunctionNodeSet&);
95 
96  bool
98 };
99 
100 
101 
103 {
104 public:
105 
107 
109  Function(),
110  m_boolean(s_booleanString, theManager),
111  m_external(s_externalString, theManager),
112  m_nodeSet(s_nodeSetString, theManager),
113  m_number(s_numberString, theManager),
114  m_rtf(s_rtfString, theManager),
115  m_string(s_stringString, theManager)
116  {
117  }
118 
119  // A dummy constructor for use internally. Do not use this one!!!!
120  XalanEXSLTFunctionObjectType(MemoryManagerType& theManager, int /* theDummy */) :
121  Function(),
122  m_boolean(theManager),
123  m_external(theManager),
124  m_nodeSet(theManager),
125  m_number(theManager),
126  m_rtf(theManager),
127  m_string(theManager)
128  {
129  }
130 
131  virtual
133  {
134  }
135 
136  // These methods are inherited from Function ...
137 
138  virtual XObjectPtr
139  execute(
140  XPathExecutionContext& executionContext,
141  XalanNode* context,
142  const XObjectArgVectorType& args,
143  const LocatorType* locator) const;
144 
145 #if !defined(XALAN_NO_USING_DECLARATION)
146  using ParentType::execute;
147 #endif
148 
149 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
150  virtual Function*
151 #else
153 #endif
154  clone(MemoryManagerType& theManager) const
155  {
156  typedef XalanEXSLTFunctionObjectType Type;
157 
158  XalanMemMgrAutoPtr<Type, false> theGuard( theManager , (Type*)theManager.allocate(sizeof(Type)));
159 
160  Type* theResult = theGuard.get();
161 
162  new (theResult) Type(theManager);
163 
164  theGuard.release();
165 
166  return theResult;
167  }
168 
169 protected:
170 
171 
172 
173  const XalanDOMString&
174  getError(XalanDOMString& theResult) const;
175 
176 private:
177 
178  // Not implemented...
180 
182  operator=(const XalanEXSLTFunctionObjectType&);
183 
184  bool
186 
187 
188  // Data members...
189  const XalanDOMString m_boolean;
190  const XalanDOMString m_external;
191  const XalanDOMString m_nodeSet;
192  const XalanDOMString m_number;
193  const XalanDOMString m_rtf;
194  const XalanDOMString m_string;
195 
196  static const XalanDOMChar s_booleanString[];
197  static const XalanDOMChar s_externalString[];
198  static const XalanDOMChar s_nodeSetString[];
199  static const XalanDOMChar s_numberString[];
200  static const XalanDOMChar s_rtfString[];
201  static const XalanDOMChar s_stringString[];
202 };
203 
204 
205 
206 XALAN_CPP_NAMESPACE_END
207 
208 
209 
210 #endif // EXSLT_COMMONIMPL_HEADER_GUARD_1357924680
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1111
Definition: XalanNode.hpp:44
Definition: Function.hpp:52
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
Definition: XalanEXSLTCommonImpl.hpp:102
XPath implementation of "node-set" function.
Definition: FunctionNodeSet.hpp:42
static XalanDOMString & getMessage(XalanDOMString &theResultMessage, XalanMessages::Codes msgToLoad, const char *repText1, const char *repText2=0, const char *repText3=0, const char *repText4=0)
virtual ~XalanEXSLTFunctionObjectType()
Definition: XalanEXSLTCommonImpl.hpp:132
virtual const XalanDOMString & getInvalidArgumentTypeError(XalanDOMString &theResult) const
Definition: XalanEXSLTCommonImpl.hpp:80
virtual const XalanDOMString & getError(XalanDOMString &theBuffer) const =0
Get the error message to report when the function is called with the wrong number of arguments...
virtual XObjectPtr execute(XPathExecutionContext &executionContext, XalanNode *context, const XObjectArgVectorType &args, const LocatorType *locator) const
Execute an XPath function object.
Class to hold XObjectPtr return types.
Definition: XObject.hpp:584
Type * XalanCopyConstruct(MemoryManager &theMemoryManager, const Type &theSource)
Definition: XalanMemoryManagement.hpp:334
Definition: XPathExecutionContext.hpp:72
Function ParentType
Definition: XalanEXSLTCommonImpl.hpp:106
virtual ~XalanEXSLTFunctionNodeSet()
Definition: XalanEXSLTCommonImpl.hpp:51
virtual XalanEXSLTFunctionNodeSet * clone(MemoryManagerType &theManager) const
Create a copy of the function object.
Definition: XalanEXSLTCommonImpl.hpp:60
XalanEXSLTFunctionNodeSet()
Definition: XalanEXSLTCommonImpl.hpp:45
XalanEXSLTFunctionObjectType(MemoryManagerType &theManager)
Definition: XalanEXSLTCommonImpl.hpp:108
XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType
Definition: FormatterListener.hpp:47
#define XALAN_EXSLT_EXPORT
Definition: XalanEXSLTDefinitions.hpp:33
Definition: XalanEXSLTCommonImpl.hpp:41
Definition: XalanMemMgrAutoPtr.hpp:46
virtual XalanEXSLTFunctionObjectType * clone(MemoryManagerType &theManager) const
Create a copy of the function object.
Definition: XalanEXSLTCommonImpl.hpp:154
Definition: XalanDOMString.hpp:42
virtual const XalanDOMString & getError(XalanDOMString &theBuffer) const
Get the error message to report when the function is called with the wrong number of arguments...
Definition: XalanEXSLTCommonImpl.hpp:68
XalanEXSLTFunctionObjectType(MemoryManagerType &theManager, int)
Definition: XalanEXSLTCommonImpl.hpp:120

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