1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 /* $Id$ */
19 
20 package org.apache.fop.fo;
21 
22 import org.xml.sax.SAXException;
23 
24 import org.apache.fop.apps.FOUserAgent;
25 import org.apache.fop.apps.FormattingResults;
26 import org.apache.fop.fo.extensions.ExternalDocument;
27 import org.apache.fop.fo.flow.BasicLink;
28 import org.apache.fop.fo.flow.Block;
29 import org.apache.fop.fo.flow.BlockContainer;
30 import org.apache.fop.fo.flow.Character;
31 import org.apache.fop.fo.flow.ExternalGraphic;
32 import org.apache.fop.fo.flow.Footnote;
33 import org.apache.fop.fo.flow.FootnoteBody;
34 import org.apache.fop.fo.flow.Inline;
35 import org.apache.fop.fo.flow.InstreamForeignObject;
36 import org.apache.fop.fo.flow.Leader;
37 import org.apache.fop.fo.flow.ListBlock;
38 import org.apache.fop.fo.flow.ListItem;
39 import org.apache.fop.fo.flow.ListItemBody;
40 import org.apache.fop.fo.flow.ListItemLabel;
41 import org.apache.fop.fo.flow.PageNumber;
42 import org.apache.fop.fo.flow.PageNumberCitation;
43 import org.apache.fop.fo.flow.PageNumberCitationLast;
44 import org.apache.fop.fo.flow.RetrieveMarker;
45 import org.apache.fop.fo.flow.RetrieveTableMarker;
46 import org.apache.fop.fo.flow.Wrapper;
47 import org.apache.fop.fo.flow.table.Table;
48 import org.apache.fop.fo.flow.table.TableBody;
49 import org.apache.fop.fo.flow.table.TableCell;
50 import org.apache.fop.fo.flow.table.TableColumn;
51 import org.apache.fop.fo.flow.table.TableFooter;
52 import org.apache.fop.fo.flow.table.TableHeader;
53 import org.apache.fop.fo.flow.table.TableRow;
54 import org.apache.fop.fo.pagination.Flow;
55 import org.apache.fop.fo.pagination.PageSequence;
56 import org.apache.fop.fo.pagination.Root;
57 import org.apache.fop.fo.pagination.StaticContent;
58 import org.apache.fop.fonts.FontInfo;
59 
60 /**
61  * This class delegates all FO events to another FOEventHandler instance.
62  */
63 public abstract class DelegatingFOEventHandler extends FOEventHandler {
64 
65     private final FOEventHandler delegate;
66 
67     /**
68      * Creates a new instance that delegates events to the given object.
69      *
70      * @param delegate the object to which all FO events will be forwarded
71      */
DelegatingFOEventHandler(FOEventHandler delegate)72     public DelegatingFOEventHandler(FOEventHandler delegate) {
73         super(delegate.getUserAgent());
74         this.delegate = delegate;
75     }
76 
77     @Override
getUserAgent()78     public FOUserAgent getUserAgent() {
79         return delegate.getUserAgent();
80     }
81 
82     @Override
getFontInfo()83     public FontInfo getFontInfo() {
84         return delegate.getFontInfo();
85     }
86 
87     @Override
startDocument()88     public void startDocument() throws SAXException {
89         delegate.startDocument();
90     }
91 
92     @Override
endDocument()93     public void endDocument() throws SAXException {
94         delegate.endDocument();
95     }
96 
97     @Override
startRoot(Root root)98     public void startRoot(Root root) {
99         delegate.startRoot(root);
100     }
101 
102     @Override
endRoot(Root root)103     public void endRoot(Root root) {
104         delegate.endRoot(root);
105     }
106 
107     @Override
startPageSequence(PageSequence pageSeq)108     public void startPageSequence(PageSequence pageSeq) {
109         delegate.startPageSequence(pageSeq);
110     }
111 
112     @Override
endPageSequence(PageSequence pageSeq)113     public void endPageSequence(PageSequence pageSeq) {
114         delegate.endPageSequence(pageSeq);
115     }
116 
117     @Override
startPageNumber(PageNumber pagenum)118     public void startPageNumber(PageNumber pagenum) {
119         delegate.startPageNumber(pagenum);
120     }
121 
122     @Override
endPageNumber(PageNumber pagenum)123     public void endPageNumber(PageNumber pagenum) {
124         delegate.endPageNumber(pagenum);
125     }
126 
127     @Override
startPageNumberCitation(PageNumberCitation pageCite)128     public void startPageNumberCitation(PageNumberCitation pageCite) {
129         delegate.startPageNumberCitation(pageCite);
130     }
131 
132     @Override
endPageNumberCitation(PageNumberCitation pageCite)133     public void endPageNumberCitation(PageNumberCitation pageCite) {
134         delegate.endPageNumberCitation(pageCite);
135     }
136 
137     @Override
startPageNumberCitationLast(PageNumberCitationLast pageLast)138     public void startPageNumberCitationLast(PageNumberCitationLast pageLast) {
139         delegate.startPageNumberCitationLast(pageLast);
140     }
141 
142     @Override
endPageNumberCitationLast(PageNumberCitationLast pageLast)143     public void endPageNumberCitationLast(PageNumberCitationLast pageLast) {
144         delegate.endPageNumberCitationLast(pageLast);
145     }
146 
147     @Override
startStatic(StaticContent staticContent)148     public void startStatic(StaticContent staticContent) {
149         delegate.startStatic(staticContent);
150     }
151 
152     @Override
endStatic(StaticContent statisContent)153     public void endStatic(StaticContent statisContent) {
154         delegate.endStatic(statisContent);
155     }
156 
157     @Override
startFlow(Flow fl)158     public void startFlow(Flow fl) {
159         delegate.startFlow(fl);
160     }
161 
162     @Override
endFlow(Flow fl)163     public void endFlow(Flow fl) {
164         delegate.endFlow(fl);
165     }
166 
167     @Override
startBlock(Block bl)168     public void startBlock(Block bl) {
169         delegate.startBlock(bl);
170     }
171 
172     @Override
endBlock(Block bl)173     public void endBlock(Block bl) {
174         delegate.endBlock(bl);
175     }
176 
177     @Override
startBlockContainer(BlockContainer blc)178     public void startBlockContainer(BlockContainer blc) {
179         delegate.startBlockContainer(blc);
180     }
181 
182     @Override
endBlockContainer(BlockContainer blc)183     public void endBlockContainer(BlockContainer blc) {
184         delegate.endBlockContainer(blc);
185     }
186 
187     @Override
startInline(Inline inl)188     public void startInline(Inline inl) {
189         delegate.startInline(inl);
190     }
191 
192     @Override
endInline(Inline inl)193     public void endInline(Inline inl) {
194         delegate.endInline(inl);
195     }
196 
197     @Override
startTable(Table tbl)198     public void startTable(Table tbl) {
199         delegate.startTable(tbl);
200     }
201 
202     @Override
endTable(Table tbl)203     public void endTable(Table tbl) {
204         delegate.endTable(tbl);
205     }
206 
207     @Override
startColumn(TableColumn tc)208     public void startColumn(TableColumn tc) {
209         delegate.startColumn(tc);
210     }
211 
212     @Override
endColumn(TableColumn tc)213     public void endColumn(TableColumn tc) {
214         delegate.endColumn(tc);
215     }
216 
217     @Override
startHeader(TableHeader header)218     public void startHeader(TableHeader header) {
219         delegate.startHeader(header);
220     }
221 
222     @Override
endHeader(TableHeader header)223     public void endHeader(TableHeader header) {
224         delegate.endHeader(header);
225     }
226 
227     @Override
startFooter(TableFooter footer)228     public void startFooter(TableFooter footer) {
229         delegate.startFooter(footer);
230     }
231 
232     @Override
endFooter(TableFooter footer)233     public void endFooter(TableFooter footer) {
234         delegate.endFooter(footer);
235     }
236 
237     @Override
startBody(TableBody body)238     public void startBody(TableBody body) {
239         delegate.startBody(body);
240     }
241 
242     @Override
endBody(TableBody body)243     public void endBody(TableBody body) {
244         delegate.endBody(body);
245     }
246 
247     @Override
startRow(TableRow tr)248     public void startRow(TableRow tr) {
249         delegate.startRow(tr);
250     }
251 
252     @Override
endRow(TableRow tr)253     public void endRow(TableRow tr) {
254         delegate.endRow(tr);
255     }
256 
257     @Override
startCell(TableCell tc)258     public void startCell(TableCell tc) {
259         delegate.startCell(tc);
260     }
261 
262     @Override
endCell(TableCell tc)263     public void endCell(TableCell tc) {
264         delegate.endCell(tc);
265     }
266 
267     @Override
startList(ListBlock lb)268     public void startList(ListBlock lb) {
269         delegate.startList(lb);
270     }
271 
272     @Override
endList(ListBlock lb)273     public void endList(ListBlock lb) {
274         delegate.endList(lb);
275     }
276 
277     @Override
startListItem(ListItem li)278     public void startListItem(ListItem li) {
279         delegate.startListItem(li);
280     }
281 
282     @Override
endListItem(ListItem li)283     public void endListItem(ListItem li) {
284         delegate.endListItem(li);
285     }
286 
287     @Override
startListLabel(ListItemLabel listItemLabel)288     public void startListLabel(ListItemLabel listItemLabel) {
289         delegate.startListLabel(listItemLabel);
290     }
291 
292     @Override
endListLabel(ListItemLabel listItemLabel)293     public void endListLabel(ListItemLabel listItemLabel) {
294         delegate.endListLabel(listItemLabel);
295     }
296 
297     @Override
startListBody(ListItemBody listItemBody)298     public void startListBody(ListItemBody listItemBody) {
299         delegate.startListBody(listItemBody);
300     }
301 
302     @Override
endListBody(ListItemBody listItemBody)303     public void endListBody(ListItemBody listItemBody) {
304         delegate.endListBody(listItemBody);
305     }
306 
307     @Override
startMarkup()308     public void startMarkup() {
309         delegate.startMarkup();
310     }
311 
312     @Override
endMarkup()313     public void endMarkup() {
314         delegate.endMarkup();
315     }
316 
317     @Override
startLink(BasicLink basicLink)318     public void startLink(BasicLink basicLink) {
319         delegate.startLink(basicLink);
320     }
321 
322     @Override
endLink(BasicLink basicLink)323     public void endLink(BasicLink basicLink) {
324         delegate.endLink(basicLink);
325     }
326 
327     @Override
image(ExternalGraphic eg)328     public void image(ExternalGraphic eg) {
329         delegate.image(eg);
330     }
331 
332     @Override
pageRef()333     public void pageRef() {
334         delegate.pageRef();
335     }
336 
337     @Override
startInstreamForeignObject(InstreamForeignObject ifo)338     public void startInstreamForeignObject(InstreamForeignObject ifo) {
339         delegate.startInstreamForeignObject(ifo);
340     }
341 
342     @Override
endInstreamForeignObject(InstreamForeignObject ifo)343     public void endInstreamForeignObject(InstreamForeignObject ifo) {
344         delegate.endInstreamForeignObject(ifo);
345     }
346 
347     @Override
startFootnote(Footnote footnote)348     public void startFootnote(Footnote footnote) {
349         delegate.startFootnote(footnote);
350     }
351 
352     @Override
endFootnote(Footnote footnote)353     public void endFootnote(Footnote footnote) {
354         delegate.endFootnote(footnote);
355     }
356 
357     @Override
startFootnoteBody(FootnoteBody body)358     public void startFootnoteBody(FootnoteBody body) {
359         delegate.startFootnoteBody(body);
360     }
361 
362     @Override
endFootnoteBody(FootnoteBody body)363     public void endFootnoteBody(FootnoteBody body) {
364         delegate.endFootnoteBody(body);
365     }
366 
367     @Override
startLeader(Leader l)368     public void startLeader(Leader l) {
369         delegate.startLeader(l);
370     }
371 
372     @Override
endLeader(Leader l)373     public void endLeader(Leader l) {
374         delegate.endLeader(l);
375     }
376 
377     @Override
startWrapper(Wrapper wrapper)378     public void startWrapper(Wrapper wrapper) {
379         delegate.startWrapper(wrapper);
380     }
381 
382     @Override
endWrapper(Wrapper wrapper)383     public void endWrapper(Wrapper wrapper) {
384         delegate.endWrapper(wrapper);
385     }
386 
387     @Override
startRetrieveMarker(RetrieveMarker retrieveMarker)388     public void startRetrieveMarker(RetrieveMarker retrieveMarker) {
389         delegate.startRetrieveMarker(retrieveMarker);
390     }
391 
392     @Override
endRetrieveMarker(RetrieveMarker retrieveMarker)393     public void endRetrieveMarker(RetrieveMarker retrieveMarker) {
394         delegate.endRetrieveMarker(retrieveMarker);
395     }
396 
397     @Override
restoreState(RetrieveMarker retrieveMarker)398     public void restoreState(RetrieveMarker retrieveMarker) {
399         delegate.restoreState(retrieveMarker);
400     }
401 
402     @Override
startRetrieveTableMarker(RetrieveTableMarker retrieveTableMarker)403     public void startRetrieveTableMarker(RetrieveTableMarker retrieveTableMarker) {
404         delegate.startRetrieveTableMarker(retrieveTableMarker);
405     }
406 
407     @Override
endRetrieveTableMarker(RetrieveTableMarker retrieveTableMarker)408     public void endRetrieveTableMarker(RetrieveTableMarker retrieveTableMarker) {
409         delegate.endRetrieveTableMarker(retrieveTableMarker);
410     }
411 
412     @Override
restoreState(RetrieveTableMarker retrieveTableMarker)413     public void restoreState(RetrieveTableMarker retrieveTableMarker) {
414         delegate.restoreState(retrieveTableMarker);
415     }
416 
417     @Override
character(Character c)418     public void character(Character c) {
419         delegate.character(c);
420     }
421 
422     @Override
characters(FOText foText)423     public void characters(FOText foText) {
424         delegate.characters(foText);
425     }
426 
427     @Override
startExternalDocument(ExternalDocument document)428     public void startExternalDocument(ExternalDocument document) {
429         delegate.startExternalDocument(document);
430     }
431 
432     @Override
endExternalDocument(ExternalDocument document)433     public void endExternalDocument(ExternalDocument document) {
434         delegate.endExternalDocument(document);
435     }
436 
437     @Override
getResults()438     public FormattingResults getResults() {
439         return delegate.getResults();
440     }
441 
442 }
443