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