LibreOffice Module sax (master) 1
documenthandleradapter.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 * This file is part of the LibreOffice project.
5 *
6 * This Source Code Form is subject to the terms of the Mozilla Public
7 * License, v. 2.0. If a copy of the MPL was not distributed with this
8 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 */
10
11#ifndef INCLUDED_SAX_TOOLS_DOCUMENTHANDLERADAPTER_HXX
12#define INCLUDED_SAX_TOOLS_DOCUMENTHANDLERADAPTER_HXX
13
14#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
15#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
16
17namespace sax
18{
26 class DocumentHandlerAdapter : public css::xml::sax::XDocumentHandler
27 {
28 public:
29 // XDocumentHandler
30 virtual void SAL_CALL
31 startDocument() override
32 {
33 m_handler->startDocument();
34 }
35
36 virtual void SAL_CALL
37 endDocument() override
38 {
39 m_handler->endDocument();
40 }
41
42 virtual void SAL_CALL
43 startElement(const OUString& aName,
44 const css::uno::Reference< css::xml::sax::XAttributeList > & xAttribs) override
45 {
46 m_handler->startElement(aName, xAttribs);
47 }
48
49 virtual void SAL_CALL
50 endElement(const OUString& aName) override
51 {
52 m_handler->endElement(aName);
53 }
54
55 virtual void SAL_CALL
56 characters(const OUString& aChars) override
57 {
58 m_handler->characters(aChars);
59 }
60
61 virtual void SAL_CALL
62 ignorableWhitespace(const OUString& aWhitespaces) override
63 {
64 m_handler->ignorableWhitespace(aWhitespaces);
65 }
66 virtual void SAL_CALL
67 processingInstruction(const OUString& aTarget, const OUString& aData) override
68 {
69 m_handler->processingInstruction(aTarget, aData);
70 }
71 virtual void SAL_CALL
72 setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > & xLocator) override
73 {
74 m_handler->setDocumentLocator(xLocator);
75 }
77 m_handler(css::uno::Reference< css::xml::sax::XDocumentHandler > (nullptr, css::uno::UNO_QUERY))
78 {
79 }
80 ;
81
82 protected:
83 void
84 setDelegate(const css::uno::Reference< css::xml::sax::XDocumentHandler >& delegate)
85 {
86 m_handler = delegate;
87 }
88 const css::uno::Reference< css::xml::sax::XDocumentHandler >&
90 {
91 return m_handler;
92 }
93 virtual
95 {
96
97 }
98
99 private:
100 css::uno::Reference< css::xml::sax::XDocumentHandler > m_handler;
101
102 };
103
109 class ExtendedDocumentHandlerAdapter : public css::xml::sax::XExtendedDocumentHandler
110
111 {
112
113 public:
114 // XDocumentHandler
115 virtual void SAL_CALL
116 startDocument() override
117 {
118 m_handler->startDocument();
119 }
120
121 virtual void SAL_CALL
122 endDocument() override
123 {
124 m_handler->endDocument();
125 }
126
127 virtual void SAL_CALL
128 startElement(const OUString& aName,
129 const css::uno::Reference< css::xml::sax::XAttributeList > & xAttribs) override
130 {
131 m_handler->startElement(aName, xAttribs);
132 }
133
134 virtual void SAL_CALL
135 endElement(const OUString& aName) override
136 {
137 m_handler->endElement(aName);
138 }
139
140 virtual void SAL_CALL
141 characters(const OUString& aChars) override
142 {
143 m_handler->characters(aChars);
144 }
145
146 virtual void SAL_CALL
147 ignorableWhitespace(const OUString& aWhitespaces) override
148 {
149 m_handler->ignorableWhitespace(aWhitespaces);
150 }
151 virtual void SAL_CALL
152 processingInstruction(const OUString& aTarget, const OUString& aData) override
153 {
154 m_handler->processingInstruction(aTarget, aData);
155 }
156 virtual void SAL_CALL
157 setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > & xLocator) override
158 {
159 m_handler->setDocumentLocator(xLocator);
160 }
161 // XExtendedDocumentHandler
162 virtual void SAL_CALL
163 startCDATA() override
164 {
165 m_handler->startCDATA();
166 }
167 virtual void SAL_CALL
168 endCDATA() override
169 {
170 m_handler->endCDATA();
171 }
172 virtual void SAL_CALL
173 comment(const OUString& sComment) override
174 {
175 m_handler->comment(sComment);
176 }
177 virtual void SAL_CALL
178 unknown(const OUString& sString) override
179 {
180 m_handler->unknown(sString);
181 }
182 virtual void SAL_CALL
183 allowLineBreak() override
184 {
185 m_handler->allowLineBreak();
186 }
187 protected:
189 m_handler(css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > (nullptr, css::uno::UNO_QUERY))
190 {
191 }
192
193 void
194 setDelegate(const css::uno::Reference< css::xml::sax::XExtendedDocumentHandler >& delegate)
195 {
196 m_handler = delegate;
197 }
198 const css::uno::Reference< css::xml::sax::XExtendedDocumentHandler >&
200 {
201 return m_handler;
202 }
203 virtual
205 {
206
207 }
208
209 private:
210 css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > m_handler;
211 };
212}
213#endif // INCLUDED_SAX_TOOLS_DOCUMENTHANDLERADAPTER_HXX
214/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
DocumentHandlerAdapter provides a base class for simple decorators to XDocumentHandlers.
virtual void SAL_CALL endDocument() override
virtual void SAL_CALL setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
virtual void SAL_CALL startDocument() override
virtual void SAL_CALL characters(const OUString &aChars) override
virtual void SAL_CALL endElement(const OUString &aName) override
const css::uno::Reference< css::xml::sax::XDocumentHandler > & getDelegate() const
virtual void SAL_CALL processingInstruction(const OUString &aTarget, const OUString &aData) override
virtual void SAL_CALL startElement(const OUString &aName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
css::uno::Reference< css::xml::sax::XDocumentHandler > m_handler
virtual void SAL_CALL ignorableWhitespace(const OUString &aWhitespaces) override
void setDelegate(const css::uno::Reference< css::xml::sax::XDocumentHandler > &delegate)
ExtendedDocumentHandlerAdapter provides a base class for simple decorators to XExtendedDocumentHandle...
virtual void SAL_CALL allowLineBreak() override
virtual void SAL_CALL endCDATA() override
virtual void SAL_CALL characters(const OUString &aChars) override
virtual void SAL_CALL comment(const OUString &sComment) override
virtual void SAL_CALL startElement(const OUString &aName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
virtual void SAL_CALL endElement(const OUString &aName) override
css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > m_handler
virtual void SAL_CALL endDocument() override
virtual void SAL_CALL startCDATA() override
virtual void SAL_CALL startDocument() override
const css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > & getDelegate() const
virtual void SAL_CALL unknown(const OUString &sString) override
virtual void SAL_CALL ignorableWhitespace(const OUString &aWhitespaces) override
void setDelegate(const css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > &delegate)
virtual void SAL_CALL setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
virtual void SAL_CALL processingInstruction(const OUString &aTarget, const OUString &aData) override
OUString aName
constexpr OUStringLiteral aData
Reference