Save This Page
Home » openjdk-7 » com.sun.org.apache.xml.internal » resolver » readers » [javadoc | source]
    1   /*
    2    * reserved comment block
    3    * DO NOT REMOVE OR ALTER!
    4    */
    5   // SAXParserHandler.java - An entity-resolving DefaultHandler
    6   
    7   /*
    8    * Copyright 2001-2004 The Apache Software Foundation or its licensors,
    9    * as applicable.
   10    *
   11    * Licensed under the Apache License, Version 2.0 (the "License");
   12    * you may not use this file except in compliance with the License.
   13    * You may obtain a copy of the License at
   14    *
   15    *      http://www.apache.org/licenses/LICENSE-2.0
   16    *
   17    * Unless required by applicable law or agreed to in writing, software
   18    * distributed under the License is distributed on an "AS IS" BASIS,
   19    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   20    * See the License for the specific language governing permissions and
   21    * limitations under the License.
   22    */
   23   
   24   package com.sun.org.apache.xml.internal.resolver.readers;
   25   
   26   import java.io.IOException;
   27   
   28   import org.xml.sax;
   29   import org.xml.sax.helpers;
   30   
   31   /**
   32    * An entity-resolving DefaultHandler.
   33    *
   34    * <p>This class provides a SAXParser DefaultHandler that performs
   35    * entity resolution.
   36    * </p>
   37    *
   38    * @author Norman Walsh
   39    * <a href="mailto:Norman.Walsh@Sun.COM">Norman.Walsh@Sun.COM</a>
   40    */
   41   public class SAXParserHandler extends DefaultHandler {
   42     private EntityResolver er = null;
   43     private ContentHandler ch = null;
   44   
   45     public SAXParserHandler() {
   46       super();
   47     }
   48   
   49     public void setEntityResolver(EntityResolver er) {
   50       this.er = er;
   51     }
   52   
   53     public void setContentHandler(ContentHandler ch) {
   54       this.ch = ch;
   55     }
   56   
   57     // Entity Resolver
   58     public InputSource resolveEntity(String publicId, String systemId)
   59       throws SAXException {
   60   
   61       if (er != null) {
   62         try {
   63           return er.resolveEntity(publicId, systemId);
   64         } catch (IOException e) {
   65             System.out.println("resolveEntity threw IOException!");
   66             return null;
   67         }
   68       } else {
   69         return null;
   70       }
   71     }
   72   
   73     // Content Handler
   74     public void characters(char[] ch, int start, int length)
   75       throws SAXException {
   76       if (this.ch != null) {
   77         this.ch.characters(ch, start, length);
   78       }
   79     }
   80   
   81     public void endDocument()
   82       throws SAXException {
   83       if (ch != null) {
   84         ch.endDocument();
   85       }
   86     }
   87   
   88     public void endElement(String namespaceURI, String localName, String qName)
   89       throws SAXException {
   90       if (ch != null) {
   91         ch.endElement(namespaceURI, localName, qName);
   92       }
   93     }
   94   
   95     public void endPrefixMapping(String prefix)
   96       throws SAXException {
   97       if (ch != null) {
   98         ch.endPrefixMapping(prefix);
   99       }
  100     }
  101   
  102     public void ignorableWhitespace(char[] ch, int start, int length)
  103       throws SAXException {
  104       if (this.ch != null) {
  105         this.ch.ignorableWhitespace(ch, start, length);
  106       }
  107     }
  108   
  109     public void processingInstruction(String target, String data)
  110       throws SAXException {
  111       if (ch != null) {
  112         ch.processingInstruction(target, data);
  113       }
  114     }
  115   
  116     public void setDocumentLocator(Locator locator) {
  117       if (ch != null) {
  118         ch.setDocumentLocator(locator);
  119       }
  120     }
  121   
  122     public void skippedEntity(String name)
  123       throws SAXException {
  124       if (ch != null) {
  125         ch.skippedEntity(name);
  126       }
  127     }
  128   
  129     public void startDocument()
  130       throws SAXException {
  131       if (ch != null) {
  132         ch.startDocument();
  133       }
  134     }
  135   
  136     public void startElement(String namespaceURI, String localName,
  137                              String qName, Attributes atts)
  138       throws SAXException {
  139       if (ch != null) {
  140         ch.startElement(namespaceURI, localName, qName, atts);
  141       }
  142     }
  143   
  144     public void startPrefixMapping(String prefix, String uri)
  145       throws SAXException {
  146       if (ch != null) {
  147         ch.startPrefixMapping(prefix, uri);
  148       }
  149     }
  150   }

Save This Page
Home » openjdk-7 » com.sun.org.apache.xml.internal » resolver » readers » [javadoc | source]