Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
xqilla
context
ItemFactory.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001, 2008,
3
* DecisionSoft Limited. All rights reserved.
4
* Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved.
5
*
6
*
7
* Licensed under the Apache License, Version 2.0 (the "License");
8
* you may not use this file except in compliance with the License.
9
* You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS,
15
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
* See the License for the specific language governing permissions and
17
* limitations under the License.
18
*/
19
20
/*
21
Factory base class
22
*/
23
24
#ifndef _ITEMFACTORY_HPP
25
#define _ITEMFACTORY_HPP
26
27
#include <xqilla/framework/XQillaExport.hpp>
28
#include <xqilla/mapm/m_apm.h>
29
#include <
xqilla/items/ATAnyURIOrDerived.hpp
>
30
#include <
xqilla/items/ATBooleanOrDerived.hpp
>
31
#include <
xqilla/items/ATDateOrDerived.hpp
>
32
#include <
xqilla/items/ATDateTimeOrDerived.hpp
>
33
#include <
xqilla/items/ATDecimalOrDerived.hpp
>
34
#include <
xqilla/items/ATDoubleOrDerived.hpp
>
35
#include <
xqilla/items/ATDurationOrDerived.hpp
>
36
#include <
xqilla/items/ATFloatOrDerived.hpp
>
37
#include <
xqilla/items/ATGDayOrDerived.hpp
>
38
#include <
xqilla/items/ATGMonthOrDerived.hpp
>
39
#include <
xqilla/items/ATGMonthDayOrDerived.hpp
>
40
#include <
xqilla/items/ATGYearMonthOrDerived.hpp
>
41
#include <
xqilla/items/ATGYearOrDerived.hpp
>
42
#include <
xqilla/items/ATQNameOrDerived.hpp
>
43
#include <
xqilla/items/ATStringOrDerived.hpp
>
44
#include <
xqilla/items/ATTimeOrDerived.hpp
>
45
#include <
xqilla/items/ATUntypedAtomic.hpp
>
46
#include <xqilla/ast/ASTNode.hpp>
47
48
#include <
xercesc/util/XMemory.hpp
>
49
50
class
XQILLA_API
ItemFactory
:
public
XERCES_CPP_NAMESPACE_QUALIFIER XMemory
51
{
52
public
:
53
virtual
~ItemFactory
() {};
54
55
/* @name Atomic type factory methods */
56
57
virtual
AnyAtomicType::AtomicObjectType
getPrimitiveTypeIndex(
const
XMLCh* typeURI,
const
XMLCh* typeName,
bool
&isPrimitive)
const
= 0;
58
virtual
void
getPrimitiveTypeName(
AnyAtomicType::AtomicObjectType
type,
const
XMLCh *&typeURI,
const
XMLCh *&typeName)
const
= 0;
59
60
virtual
AnyAtomicType::Ptr
createDerivedFromAtomicType(
AnyAtomicType::AtomicObjectType
typeIndex,
const
XMLCh* value,
61
const
DynamicContext
* context) = 0;
62
virtual
AnyAtomicType::Ptr
createDerivedFromAtomicType(
AnyAtomicType::AtomicObjectType
typeIndex,
const
XMLCh* typeURI,
63
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
64
virtual
AnyAtomicType::Ptr
createDerivedFromAtomicType(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
65
66
/* @name Number factory methods */
67
68
virtual
ATDoubleOrDerived::Ptr
createDouble(
const
MAPM value,
const
DynamicContext
* context) = 0;
69
virtual
ATDoubleOrDerived::Ptr
createDouble(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
70
virtual
ATDoubleOrDerived::Ptr
createDoubleOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
MAPM value,
const
DynamicContext
* context) = 0;
71
virtual
ATDoubleOrDerived::Ptr
createDoubleOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
72
73
virtual
ATFloatOrDerived::Ptr
createFloat(
const
MAPM value,
const
DynamicContext
* context) = 0;
74
virtual
ATFloatOrDerived::Ptr
createFloat(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
75
virtual
ATFloatOrDerived::Ptr
createFloatOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
MAPM value,
const
DynamicContext
* context) = 0;
76
virtual
ATFloatOrDerived::Ptr
createFloatOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
77
78
virtual
ATDecimalOrDerived::Ptr
createInteger(
const
int
value,
const
DynamicContext
* context) = 0;
79
virtual
ATDecimalOrDerived::Ptr
createInteger(
const
MAPM value,
const
DynamicContext
* context) = 0;
80
virtual
ATDecimalOrDerived::Ptr
createInteger(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
81
virtual
ATDecimalOrDerived::Ptr
createNonNegativeInteger(
const
MAPM value,
const
DynamicContext
* context) = 0;
82
83
virtual
ATDecimalOrDerived::Ptr
createDecimal(
const
MAPM value,
const
DynamicContext
* context) = 0;
84
virtual
ATDecimalOrDerived::Ptr
createDecimal(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
85
virtual
ATDecimalOrDerived::Ptr
createDecimalOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
MAPM value,
const
DynamicContext
* context) = 0;
86
virtual
ATDecimalOrDerived::Ptr
createDecimalOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
87
88
/* @name Date / time factory methods */
89
90
virtual
ATDateOrDerived::Ptr
createDate(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
91
virtual
ATDateOrDerived::Ptr
createDateOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
92
93
virtual
ATDateTimeOrDerived::Ptr
createDateTime(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
94
virtual
ATDateTimeOrDerived::Ptr
createDateTimeOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
95
96
virtual
ATTimeOrDerived::Ptr
createTime(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
97
virtual
ATTimeOrDerived::Ptr
createTimeOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
98
99
virtual
ATGDayOrDerived::Ptr
createGDayOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
100
virtual
ATGMonthDayOrDerived::Ptr
createGMonthDayOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
101
virtual
ATGMonthOrDerived::Ptr
createGMonthOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
102
virtual
ATGYearMonthOrDerived::Ptr
createGYearMonthOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
103
virtual
ATGYearOrDerived::Ptr
createGYearOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
104
105
virtual
ATDurationOrDerived::Ptr
createDayTimeDuration(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
106
virtual
ATDurationOrDerived::Ptr
createDayTimeDuration(
const
MAPM &seconds,
const
DynamicContext
* context) = 0;
107
virtual
ATDurationOrDerived::Ptr
createYearMonthDuration(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
108
virtual
ATDurationOrDerived::Ptr
createYearMonthDuration(
const
MAPM &months,
const
DynamicContext
* context) = 0;
109
110
/* @name Other factory methods */
111
112
virtual
ATStringOrDerived::Ptr
createString(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
113
virtual
ATStringOrDerived::Ptr
createStringOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
114
115
virtual
ATUntypedAtomic::Ptr
createUntypedAtomic(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
116
117
virtual
ATBooleanOrDerived::Ptr
createBoolean(
bool
value,
const
DynamicContext
* context) = 0;
118
virtual
ATBooleanOrDerived::Ptr
createBoolean(
BoolResult
value,
const
DynamicContext
* context) = 0;
119
virtual
ATBooleanOrDerived::Ptr
createBoolean(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
120
virtual
ATBooleanOrDerived::Ptr
createBooleanOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
bool
value,
const
DynamicContext
* context) = 0;
121
virtual
ATBooleanOrDerived::Ptr
createBooleanOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* value,
const
DynamicContext
* context) = 0;
122
123
virtual
ATAnyURIOrDerived::Ptr
createAnyURI(
const
XMLCh* value,
const
DynamicContext
* context) = 0;
124
125
virtual
ATQNameOrDerived::Ptr
createQName(
const
XMLCh* uri,
const
XMLCh* prefix,
const
XMLCh* name,
const
DynamicContext
* context) = 0;
126
virtual
ATQNameOrDerived::Ptr
createQNameOrDerived(
const
XMLCh* typeURI,
const
XMLCh* typeName,
const
XMLCh* uri,
const
XMLCh *prefix,
127
const
XMLCh* name,
const
DynamicContext
* context) = 0;
128
129
};
130
131
#endif
ATDateTimeOrDerived.hpp
ATDecimalOrDerived.hpp
ATGDayOrDerived.hpp
RefCountPointer
Super class of all the reference counted wrappers for Items.
Definition:
ReferenceCounted.hpp:61
ATGYearOrDerived.hpp
ATAnyURIOrDerived.hpp
AnyAtomicType::AtomicObjectType
AtomicObjectType
Definition:
AnyAtomicType.hpp:34
ATFloatOrDerived.hpp
ATGMonthOrDerived.hpp
ATGMonthDayOrDerived.hpp
ATGYearMonthOrDerived.hpp
ATStringOrDerived.hpp
BoolResult
Definition:
ATBooleanOrDerived.hpp:30
DynamicContext
The execution time dynamic context interface.
Definition:
DynamicContext.hpp:38
ItemFactory::~ItemFactory
virtual ~ItemFactory()
Definition:
ItemFactory.hpp:53
ATUntypedAtomic.hpp
ATDurationOrDerived.hpp
ATTimeOrDerived.hpp
ATDoubleOrDerived.hpp
ItemFactory
Definition:
ItemFactory.hpp:50
XMemory.hpp
ATBooleanOrDerived.hpp
ATDateOrDerived.hpp
ATQNameOrDerived.hpp
Generated by
1.8.5