Xalan-C++ API Reference
1.12.0
xalanc
XSLT
TopLevelArg.hpp
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one
3
* or more contributor license agreements. See the NOTICE file
4
* distributed with this work for additional information
5
* regarding copyright ownership. The ASF licenses this file
6
* to you under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#if !defined(XALAN_TOPLEVELARG_HEADER_GUARD)
20
#define XALAN_TOPLEVELARG_HEADER_GUARD
21
22
23
24
25
// Base include file. Must be first.
26
#include <
xalanc/XSLT/XSLTDefinitions.hpp
>
27
28
29
30
#include <
xalanc/XalanDOM/XalanDOMString.hpp
>
31
32
33
34
#include <
xalanc/XPath/XalanQNameByValue.hpp
>
35
#include <
xalanc/XPath/XObject.hpp
>
36
37
38
39
namespace
XALAN_CPP_NAMESPACE
{
40
41
42
43
class
XObjectPtr;
44
45
46
47
/**
48
* This class holds an instance of an argument on the stack.
49
*/
50
class
XALAN_XSLT_EXPORT
TopLevelArg
51
{
52
public
:
53
54
/**
55
* Construct an argument object from a string expression
56
*
57
* @param name name of argument
58
* @param expr expression argument represents
59
*/
60
TopLevelArg
(
61
MemoryManager& theManager,
62
const
XalanQName
& name,
63
const
XalanDOMString
& expr);
64
65
static
TopLevelArg
*
66
create(
67
MemoryManager& theManager,
68
const
XalanQName
& name,
69
const
XalanDOMString
& expr);
70
/**
71
* Construct an argument object from an XObject instance.
72
*
73
* @param name name of argument
74
* @param variable the XObject instance.
75
*/
76
TopLevelArg
(
77
MemoryManager& theManager,
78
const
XalanQName
& name,
79
const
XObjectPtr
variable =
XObjectPtr
());
80
81
static
TopLevelArg
*
82
create(
83
MemoryManager& theManager,
84
const
XalanQName
& name,
85
const
XObjectPtr
variable =
XObjectPtr
());
86
/**
87
* Copy constructor
88
*
89
* @param theSource the TopLevelArg to copy.
90
*/
91
TopLevelArg
(
92
const
TopLevelArg
& theSource,
93
MemoryManager& theManager);
94
95
96
/**
97
* Destructor
98
*/
99
~
TopLevelArg
();
100
101
/**
102
* Retrieve object name
103
*
104
* @return qualified name of object
105
*/
106
const
XalanQName
&
107
getName
()
const
108
{
109
return
m_qname;
110
}
111
112
/**
113
* Retrieve object's expression
114
*
115
* @return string representation of expression
116
*/
117
const
XalanDOMString
&
118
getExpression
()
const
119
{
120
return
m_expression;
121
};
122
123
/**
124
* Retrieve object's XObject variable.
125
*
126
* @return pointer to the XObject instance
127
*/
128
const
XObjectPtr
129
getXObject
()
const
130
{
131
return
m_xobject;
132
}
133
134
/**
135
* Assignment operator
136
*/
137
TopLevelArg
&
138
operator=
(
const
TopLevelArg
& theRHS)
139
{
140
if
(&theRHS !=
this
)
141
{
142
m_qname = theRHS.m_qname;
143
144
m_expression = theRHS.m_expression;
145
}
146
147
return
*
this
;
148
}
149
150
private
:
151
// not implemented
152
TopLevelArg
(
const
TopLevelArg
& theSource);
153
154
XalanQNameByValue
m_qname;
155
156
XalanDOMString
m_expression;
157
158
const
XObjectPtr
m_xobject;
159
};
160
161
XALAN_USES_MEMORY_MANAGER
(TopLevelArg)
162
163
}
164
165
166
167
#endif // XALAN_TOPLEVELARG_HEADER_GUARD
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition:
XalanVersion.hpp:76
XalanDOMString.hpp
XALAN_USES_MEMORY_MANAGER
#define XALAN_USES_MEMORY_MANAGER(Type)
Definition:
XalanMemoryManagement.hpp:589
XALAN_XSLT_EXPORT
#define XALAN_XSLT_EXPORT
Definition:
XSLTDefinitions.hpp:27
xalanc::TopLevelArg::getName
const XalanQName & getName() const
Retrieve object name.
Definition:
TopLevelArg.hpp:107
XalanQNameByValue.hpp
xalanc::XObjectPtr
Class to hold XObjectPtr return types.
Definition:
XObject.hpp:883
xalanc::TopLevelArg
This class holds an instance of an argument on the stack.
Definition:
TopLevelArg.hpp:50
xalanc::TopLevelArg::getExpression
const XalanDOMString & getExpression() const
Retrieve object's expression.
Definition:
TopLevelArg.hpp:118
xalanc::XalanQNameByValue
Definition:
XalanQNameByValue.hpp:49
xalanc::TopLevelArg::getXObject
const XObjectPtr getXObject() const
Retrieve object's XObject variable.
Definition:
TopLevelArg.hpp:129
xalanc::TopLevelArg::operator=
TopLevelArg & operator=(const TopLevelArg &theRHS)
Assignment operator.
Definition:
TopLevelArg.hpp:138
XSLTDefinitions.hpp
xalanc::XalanQName
Class to represent a qualified name.
Definition:
XalanQName.hpp:70
xalanc::XalanDOMString
Definition:
XalanDOMString.hpp:45
XObject.hpp
Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.
Generated on Sun May 31 2020 10:37:22 for Xalan-C++ API Reference by
1.8.17