001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018 /* 019 * $Id: EmptySerializer.java 471981 2006-11-07 04:28:00Z minchau $ 020 */ 021 package org.apache.xml.serializer; 022 023 import java.io.IOException; 024 import java.io.OutputStream; 025 import java.io.Writer; 026 import java.util.Hashtable; 027 import java.util.Properties; 028 import java.util.Vector; 029 030 import javax.xml.transform.SourceLocator; 031 import javax.xml.transform.Transformer; 032 033 import org.w3c.dom.Node; 034 import org.xml.sax.Attributes; 035 import org.xml.sax.ContentHandler; 036 import org.xml.sax.Locator; 037 import org.xml.sax.SAXException; 038 import org.xml.sax.SAXParseException; 039 040 /** 041 * This class is an adapter class. Its only purpose is to be extended and 042 * for that extended class to over-ride all methods that are to be used. 043 * 044 * This class is not a public API, it is only public because it is used 045 * across package boundaries. 046 * 047 * @xsl.usage internal 048 */ 049 public class EmptySerializer implements SerializationHandler 050 { 051 protected static final String ERR = "EmptySerializer method not over-ridden"; 052 /** 053 * @see SerializationHandler#asContentHandler() 054 */ 055 056 protected void couldThrowIOException() throws IOException 057 { 058 return; // don't do anything. 059 } 060 061 protected void couldThrowSAXException() throws SAXException 062 { 063 return; // don't do anything. 064 } 065 066 protected void couldThrowSAXException(char[] chars, int off, int len) throws SAXException 067 { 068 return; // don't do anything. 069 } 070 071 protected void couldThrowSAXException(String elemQName) throws SAXException 072 { 073 return; // don't do anything. 074 } 075 076 protected void couldThrowException() throws Exception 077 { 078 return; // don't do anything. 079 } 080 081 void aMethodIsCalled() 082 { 083 084 // throw new RuntimeException(err); 085 return; 086 } 087 088 089 /** 090 * @see SerializationHandler#asContentHandler() 091 */ 092 public ContentHandler asContentHandler() throws IOException 093 { 094 couldThrowIOException(); 095 return null; 096 } 097 /** 098 * @see SerializationHandler#setContentHandler(org.xml.sax.ContentHandler) 099 */ 100 public void setContentHandler(ContentHandler ch) 101 { 102 aMethodIsCalled(); 103 } 104 /** 105 * @see SerializationHandler#close() 106 */ 107 public void close() 108 { 109 aMethodIsCalled(); 110 } 111 /** 112 * @see SerializationHandler#getOutputFormat() 113 */ 114 public Properties getOutputFormat() 115 { 116 aMethodIsCalled(); 117 return null; 118 } 119 /** 120 * @see SerializationHandler#getOutputStream() 121 */ 122 public OutputStream getOutputStream() 123 { 124 aMethodIsCalled(); 125 return null; 126 } 127 /** 128 * @see SerializationHandler#getWriter() 129 */ 130 public Writer getWriter() 131 { 132 aMethodIsCalled(); 133 return null; 134 } 135 /** 136 * @see SerializationHandler#reset() 137 */ 138 public boolean reset() 139 { 140 aMethodIsCalled(); 141 return false; 142 } 143 /** 144 * @see SerializationHandler#serialize(org.w3c.dom.Node) 145 */ 146 public void serialize(Node node) throws IOException 147 { 148 couldThrowIOException(); 149 } 150 /** 151 * @see SerializationHandler#setCdataSectionElements(java.util.Vector) 152 */ 153 public void setCdataSectionElements(Vector URI_and_localNames) 154 { 155 aMethodIsCalled(); 156 } 157 /** 158 * @see SerializationHandler#setEscaping(boolean) 159 */ 160 public boolean setEscaping(boolean escape) throws SAXException 161 { 162 couldThrowSAXException(); 163 return false; 164 } 165 /** 166 * @see SerializationHandler#setIndent(boolean) 167 */ 168 public void setIndent(boolean indent) 169 { 170 aMethodIsCalled(); 171 } 172 /** 173 * @see SerializationHandler#setIndentAmount(int) 174 */ 175 public void setIndentAmount(int spaces) 176 { 177 aMethodIsCalled(); 178 } 179 /** 180 * @see SerializationHandler#setOutputFormat(java.util.Properties) 181 */ 182 public void setOutputFormat(Properties format) 183 { 184 aMethodIsCalled(); 185 } 186 /** 187 * @see SerializationHandler#setOutputStream(java.io.OutputStream) 188 */ 189 public void setOutputStream(OutputStream output) 190 { 191 aMethodIsCalled(); 192 } 193 /** 194 * @see SerializationHandler#setVersion(java.lang.String) 195 */ 196 public void setVersion(String version) 197 { 198 aMethodIsCalled(); 199 } 200 /** 201 * @see SerializationHandler#setWriter(java.io.Writer) 202 */ 203 public void setWriter(Writer writer) 204 { 205 aMethodIsCalled(); 206 } 207 /** 208 * @see SerializationHandler#setTransformer(javax.xml.transform.Transformer) 209 */ 210 public void setTransformer(Transformer transformer) 211 { 212 aMethodIsCalled(); 213 } 214 /** 215 * @see SerializationHandler#getTransformer() 216 */ 217 public Transformer getTransformer() 218 { 219 aMethodIsCalled(); 220 return null; 221 } 222 /** 223 * @see SerializationHandler#flushPending() 224 */ 225 public void flushPending() throws SAXException 226 { 227 couldThrowSAXException(); 228 } 229 /** 230 * @see ExtendedContentHandler#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) 231 */ 232 public void addAttribute( 233 String uri, 234 String localName, 235 String rawName, 236 String type, 237 String value, 238 boolean XSLAttribute) 239 throws SAXException 240 { 241 couldThrowSAXException(); 242 } 243 /** 244 * @see ExtendedContentHandler#addAttributes(org.xml.sax.Attributes) 245 */ 246 public void addAttributes(Attributes atts) throws SAXException 247 { 248 couldThrowSAXException(); 249 } 250 /** 251 * @see ExtendedContentHandler#addAttribute(java.lang.String, java.lang.String) 252 */ 253 public void addAttribute(String name, String value) 254 { 255 aMethodIsCalled(); 256 } 257 258 /** 259 * @see ExtendedContentHandler#characters(java.lang.String) 260 */ 261 public void characters(String chars) throws SAXException 262 { 263 couldThrowSAXException(); 264 } 265 /** 266 * @see ExtendedContentHandler#endElement(java.lang.String) 267 */ 268 public void endElement(String elemName) throws SAXException 269 { 270 couldThrowSAXException(); 271 } 272 /** 273 * @see ExtendedContentHandler#startDocument() 274 */ 275 public void startDocument() throws SAXException 276 { 277 couldThrowSAXException(); 278 } 279 /** 280 * @see ExtendedContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String) 281 */ 282 public void startElement(String uri, String localName, String qName) 283 throws SAXException 284 { 285 couldThrowSAXException(qName); 286 } 287 /** 288 * @see ExtendedContentHandler#startElement(java.lang.String) 289 */ 290 public void startElement(String qName) throws SAXException 291 { 292 couldThrowSAXException(qName); 293 } 294 /** 295 * @see ExtendedContentHandler#namespaceAfterStartElement(java.lang.String, java.lang.String) 296 */ 297 public void namespaceAfterStartElement(String uri, String prefix) 298 throws SAXException 299 { 300 couldThrowSAXException(); 301 } 302 /** 303 * @see ExtendedContentHandler#startPrefixMapping(java.lang.String, java.lang.String, boolean) 304 */ 305 public boolean startPrefixMapping( 306 String prefix, 307 String uri, 308 boolean shouldFlush) 309 throws SAXException 310 { 311 couldThrowSAXException(); 312 return false; 313 } 314 /** 315 * @see ExtendedContentHandler#entityReference(java.lang.String) 316 */ 317 public void entityReference(String entityName) throws SAXException 318 { 319 couldThrowSAXException(); 320 } 321 /** 322 * @see ExtendedContentHandler#getNamespaceMappings() 323 */ 324 public NamespaceMappings getNamespaceMappings() 325 { 326 aMethodIsCalled(); 327 return null; 328 } 329 /** 330 * @see ExtendedContentHandler#getPrefix(java.lang.String) 331 */ 332 public String getPrefix(String uri) 333 { 334 aMethodIsCalled(); 335 return null; 336 } 337 /** 338 * @see ExtendedContentHandler#getNamespaceURI(java.lang.String, boolean) 339 */ 340 public String getNamespaceURI(String name, boolean isElement) 341 { 342 aMethodIsCalled(); 343 return null; 344 } 345 /** 346 * @see ExtendedContentHandler#getNamespaceURIFromPrefix(java.lang.String) 347 */ 348 public String getNamespaceURIFromPrefix(String prefix) 349 { 350 aMethodIsCalled(); 351 return null; 352 } 353 /** 354 * @see org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator) 355 */ 356 public void setDocumentLocator(Locator arg0) 357 { 358 aMethodIsCalled(); 359 } 360 /** 361 * @see org.xml.sax.ContentHandler#endDocument() 362 */ 363 public void endDocument() throws SAXException 364 { 365 couldThrowSAXException(); 366 } 367 /** 368 * @see org.xml.sax.ContentHandler#startPrefixMapping(java.lang.String, java.lang.String) 369 */ 370 public void startPrefixMapping(String arg0, String arg1) 371 throws SAXException 372 { 373 couldThrowSAXException(); 374 } 375 /** 376 * @see org.xml.sax.ContentHandler#endPrefixMapping(java.lang.String) 377 */ 378 public void endPrefixMapping(String arg0) throws SAXException 379 { 380 couldThrowSAXException(); 381 } 382 /** 383 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) 384 */ 385 public void startElement( 386 String arg0, 387 String arg1, 388 String arg2, 389 Attributes arg3) 390 throws SAXException 391 { 392 couldThrowSAXException(); 393 } 394 /** 395 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String) 396 */ 397 public void endElement(String arg0, String arg1, String arg2) 398 throws SAXException 399 { 400 couldThrowSAXException(); 401 } 402 /** 403 * @see org.xml.sax.ContentHandler#characters(char[], int, int) 404 */ 405 public void characters(char[] arg0, int arg1, int arg2) throws SAXException 406 { 407 couldThrowSAXException(arg0, arg1, arg2); 408 } 409 /** 410 * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int) 411 */ 412 public void ignorableWhitespace(char[] arg0, int arg1, int arg2) 413 throws SAXException 414 { 415 couldThrowSAXException(); 416 } 417 /** 418 * @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String) 419 */ 420 public void processingInstruction(String arg0, String arg1) 421 throws SAXException 422 { 423 couldThrowSAXException(); 424 } 425 /** 426 * @see org.xml.sax.ContentHandler#skippedEntity(java.lang.String) 427 */ 428 public void skippedEntity(String arg0) throws SAXException 429 { 430 couldThrowSAXException(); 431 } 432 /** 433 * @see ExtendedLexicalHandler#comment(java.lang.String) 434 */ 435 public void comment(String comment) throws SAXException 436 { 437 couldThrowSAXException(); 438 } 439 /** 440 * @see org.xml.sax.ext.LexicalHandler#startDTD(java.lang.String, java.lang.String, java.lang.String) 441 */ 442 public void startDTD(String arg0, String arg1, String arg2) 443 throws SAXException 444 { 445 couldThrowSAXException(); 446 } 447 /** 448 * @see org.xml.sax.ext.LexicalHandler#endDTD() 449 */ 450 public void endDTD() throws SAXException 451 { 452 couldThrowSAXException(); 453 } 454 /** 455 * @see org.xml.sax.ext.LexicalHandler#startEntity(java.lang.String) 456 */ 457 public void startEntity(String arg0) throws SAXException 458 { 459 couldThrowSAXException(); 460 } 461 /** 462 * @see org.xml.sax.ext.LexicalHandler#endEntity(java.lang.String) 463 */ 464 public void endEntity(String arg0) throws SAXException 465 { 466 couldThrowSAXException(); 467 } 468 /** 469 * @see org.xml.sax.ext.LexicalHandler#startCDATA() 470 */ 471 public void startCDATA() throws SAXException 472 { 473 couldThrowSAXException(); 474 } 475 /** 476 * @see org.xml.sax.ext.LexicalHandler#endCDATA() 477 */ 478 public void endCDATA() throws SAXException 479 { 480 couldThrowSAXException(); 481 } 482 /** 483 * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int) 484 */ 485 public void comment(char[] arg0, int arg1, int arg2) throws SAXException 486 { 487 couldThrowSAXException(); 488 } 489 /** 490 * @see XSLOutputAttributes#getDoctypePublic() 491 */ 492 public String getDoctypePublic() 493 { 494 aMethodIsCalled(); 495 return null; 496 } 497 /** 498 * @see XSLOutputAttributes#getDoctypeSystem() 499 */ 500 public String getDoctypeSystem() 501 { 502 aMethodIsCalled(); 503 return null; 504 } 505 /** 506 * @see XSLOutputAttributes#getEncoding() 507 */ 508 public String getEncoding() 509 { 510 aMethodIsCalled(); 511 return null; 512 } 513 /** 514 * @see XSLOutputAttributes#getIndent() 515 */ 516 public boolean getIndent() 517 { 518 aMethodIsCalled(); 519 return false; 520 } 521 /** 522 * @see XSLOutputAttributes#getIndentAmount() 523 */ 524 public int getIndentAmount() 525 { 526 aMethodIsCalled(); 527 return 0; 528 } 529 /** 530 * @see XSLOutputAttributes#getMediaType() 531 */ 532 public String getMediaType() 533 { 534 aMethodIsCalled(); 535 return null; 536 } 537 /** 538 * @see XSLOutputAttributes#getOmitXMLDeclaration() 539 */ 540 public boolean getOmitXMLDeclaration() 541 { 542 aMethodIsCalled(); 543 return false; 544 } 545 /** 546 * @see XSLOutputAttributes#getStandalone() 547 */ 548 public String getStandalone() 549 { 550 aMethodIsCalled(); 551 return null; 552 } 553 /** 554 * @see XSLOutputAttributes#getVersion() 555 */ 556 public String getVersion() 557 { 558 aMethodIsCalled(); 559 return null; 560 } 561 /** 562 * @see XSLOutputAttributes#setCdataSectionElements 563 */ 564 public void setCdataSectionElements(Hashtable h) throws Exception 565 { 566 couldThrowException(); 567 } 568 /** 569 * @see XSLOutputAttributes#setDoctype(java.lang.String, java.lang.String) 570 */ 571 public void setDoctype(String system, String pub) 572 { 573 aMethodIsCalled(); 574 } 575 /** 576 * @see XSLOutputAttributes#setDoctypePublic(java.lang.String) 577 */ 578 public void setDoctypePublic(String doctype) 579 { 580 aMethodIsCalled(); 581 } 582 /** 583 * @see XSLOutputAttributes#setDoctypeSystem(java.lang.String) 584 */ 585 public void setDoctypeSystem(String doctype) 586 { 587 aMethodIsCalled(); 588 } 589 /** 590 * @see XSLOutputAttributes#setEncoding(java.lang.String) 591 */ 592 public void setEncoding(String encoding) 593 { 594 aMethodIsCalled(); 595 } 596 /** 597 * @see XSLOutputAttributes#setMediaType(java.lang.String) 598 */ 599 public void setMediaType(String mediatype) 600 { 601 aMethodIsCalled(); 602 } 603 /** 604 * @see XSLOutputAttributes#setOmitXMLDeclaration(boolean) 605 */ 606 public void setOmitXMLDeclaration(boolean b) 607 { 608 aMethodIsCalled(); 609 } 610 /** 611 * @see XSLOutputAttributes#setStandalone(java.lang.String) 612 */ 613 public void setStandalone(String standalone) 614 { 615 aMethodIsCalled(); 616 } 617 /** 618 * @see org.xml.sax.ext.DeclHandler#elementDecl(java.lang.String, java.lang.String) 619 */ 620 public void elementDecl(String arg0, String arg1) throws SAXException 621 { 622 couldThrowSAXException(); 623 } 624 /** 625 * @see org.xml.sax.ext.DeclHandler#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) 626 */ 627 public void attributeDecl( 628 String arg0, 629 String arg1, 630 String arg2, 631 String arg3, 632 String arg4) 633 throws SAXException 634 { 635 couldThrowSAXException(); 636 } 637 /** 638 * @see org.xml.sax.ext.DeclHandler#internalEntityDecl(java.lang.String, java.lang.String) 639 */ 640 public void internalEntityDecl(String arg0, String arg1) 641 throws SAXException 642 { 643 couldThrowSAXException(); 644 } 645 /** 646 * @see org.xml.sax.ext.DeclHandler#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String) 647 */ 648 public void externalEntityDecl(String arg0, String arg1, String arg2) 649 throws SAXException 650 { 651 couldThrowSAXException(); 652 } 653 /** 654 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException) 655 */ 656 public void warning(SAXParseException arg0) throws SAXException 657 { 658 couldThrowSAXException(); 659 } 660 /** 661 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException) 662 */ 663 public void error(SAXParseException arg0) throws SAXException 664 { 665 couldThrowSAXException(); 666 } 667 /** 668 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException) 669 */ 670 public void fatalError(SAXParseException arg0) throws SAXException 671 { 672 couldThrowSAXException(); 673 } 674 /** 675 * @see Serializer#asDOMSerializer() 676 */ 677 public DOMSerializer asDOMSerializer() throws IOException 678 { 679 couldThrowIOException(); 680 return null; 681 } 682 683 /** 684 * @see SerializationHandler#setNamespaceMappings(NamespaceMappings) 685 */ 686 public void setNamespaceMappings(NamespaceMappings mappings) { 687 aMethodIsCalled(); 688 } 689 690 /** 691 * @see ExtendedContentHandler#setSourceLocator(javax.xml.transform.SourceLocator) 692 */ 693 public void setSourceLocator(SourceLocator locator) 694 { 695 aMethodIsCalled(); 696 } 697 698 /** 699 * @see ExtendedContentHandler#addUniqueAttribute(java.lang.String, java.lang.String, int) 700 */ 701 public void addUniqueAttribute(String name, String value, int flags) 702 throws SAXException 703 { 704 couldThrowSAXException(); 705 } 706 707 /** 708 * @see ExtendedContentHandler#characters(org.w3c.dom.Node) 709 */ 710 public void characters(Node node) throws SAXException 711 { 712 couldThrowSAXException(); 713 } 714 715 /** 716 * @see ExtendedContentHandler#addXSLAttribute(java.lang.String, java.lang.String, java.lang.String) 717 */ 718 public void addXSLAttribute(String qName, String value, String uri) 719 { 720 aMethodIsCalled(); 721 } 722 723 /** 724 * @see ExtendedContentHandler#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) 725 */ 726 public void addAttribute(String uri, String localName, String rawName, String type, String value) throws SAXException 727 { 728 couldThrowSAXException(); 729 } 730 /** 731 * @see org.xml.sax.DTDHandler#notationDecl(java.lang.String, java.lang.String, java.lang.String) 732 */ 733 public void notationDecl(String arg0, String arg1, String arg2) throws SAXException 734 { 735 couldThrowSAXException(); 736 } 737 738 /** 739 * @see org.xml.sax.DTDHandler#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) 740 */ 741 public void unparsedEntityDecl( 742 String arg0, 743 String arg1, 744 String arg2, 745 String arg3) 746 throws SAXException { 747 couldThrowSAXException(); 748 } 749 750 /** 751 * @see SerializationHandler#setDTDEntityExpansion(boolean) 752 */ 753 public void setDTDEntityExpansion(boolean expand) { 754 aMethodIsCalled(); 755 756 } 757 758 759 public String getOutputProperty(String name) { 760 aMethodIsCalled(); 761 return null; 762 } 763 764 public String getOutputPropertyDefault(String name) { 765 aMethodIsCalled(); 766 return null; 767 } 768 769 public void setOutputProperty(String name, String val) { 770 aMethodIsCalled(); 771 772 } 773 774 public void setOutputPropertyDefault(String name, String val) { 775 aMethodIsCalled(); 776 777 } 778 779 /** 780 * @see org.apache.xml.serializer.Serializer#asDOM3Serializer() 781 */ 782 public Object asDOM3Serializer() throws IOException 783 { 784 couldThrowIOException(); 785 return null; 786 } 787 }