SourceForge.net Logo
XQillaConfiguration.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 #ifndef XQILLACONFIGURATION_H
21 #define XQILLACONFIGURATION_H
22 
23 #include <xqilla/framework/XQillaExport.hpp>
25 
27 #include <xercesc/util/XMemory.hpp>
28 
29 class DocumentCache;
30 class SequenceBuilder;
31 class ItemFactory;
32 class UpdateFactory;
33 class URIResolver;
34 class ASTToXML;
35 class StaticContext;
36 class DynamicContext;
37 
38 class XQILLA_API XQillaConfiguration : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
39 {
40 public:
41  virtual ~XQillaConfiguration() {}
42 
43  virtual DocumentCache *createDocumentCache(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr) = 0;
44 
45  virtual SequenceBuilder *createSequenceBuilder(const DynamicContext *context) = 0;
46 
47  virtual ItemFactory *createItemFactory(DocumentCache *cache,
48  XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr) = 0;
49 
50  virtual UpdateFactory *createUpdateFactory(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr) = 0;
51 
52  virtual URIResolver *createDefaultURIResolver(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr) = 0;
53 
54  virtual ASTToXML *createASTToXML() = 0;
55 
56  virtual void populateStaticContext(StaticContext *context) {}
57 
58  virtual void populateDynamicContext(DynamicContext *context) {}
59 
60  virtual void testInterrupt() {}
61 };
62 
63 #endif
virtual void testInterrupt()
Definition: XQillaConfiguration.hpp:60
Expression Context is a storage for contexts.
Definition: DocumentCache.hpp:52
This is an abstract class used to resolve URIs in different ways.
Definition: URIResolver.hpp:37
Definition: SequenceBuilder.hpp:31
The parse time static context interface.
Definition: StaticContext.hpp:57
virtual ~XQillaConfiguration()
Definition: XQillaConfiguration.hpp:41
Definition: UpdateFactory.hpp:32
The execution time dynamic context interface.
Definition: DynamicContext.hpp:38
Definition: XQillaConfiguration.hpp:38
Definition: ItemFactory.hpp:50
virtual void populateStaticContext(StaticContext *context)
Definition: XQillaConfiguration.hpp:56
virtual void populateDynamicContext(DynamicContext *context)
Definition: XQillaConfiguration.hpp:58