com.sun.tools.xjc.reader
Class ExtensionBindingChecker

java.lang.Object
  extended by org.xml.sax.helpers.XMLFilterImpl
      extended by com.sun.tools.xjc.util.SubtreeCutter
          extended by com.sun.tools.xjc.reader.AbstractExtensionBindingChecker
              extended by com.sun.tools.xjc.reader.ExtensionBindingChecker
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.XMLFilter, org.xml.sax.XMLReader

public final class ExtensionBindingChecker
extends AbstractExtensionBindingChecker

This filter checks jaxb:extensionBindingPrefix and pass/filter extension bindings.

This filter also remembers enabled extension namespaces and filters out any extension namespaces that doesn't belong to those. The net effect is that disabled customizations will never pass through this filter.

Note that we can't just filter out all foreign namespaces, as we need to use user-defined tags in documentations to generate javadoc.

The class needs to know the list of extension binding namespaces that the RI recognizes. To add new URI, modify the isSupportedExtension method.


Field Summary
 
Fields inherited from class com.sun.tools.xjc.reader.AbstractExtensionBindingChecker
allowExtensions, enabledExtensions, nsSupport, schemaLanguage
 
Constructor Summary
ExtensionBindingChecker(java.lang.String schemaLanguage, Options options, org.xml.sax.ErrorHandler handler)
           
 
Method Summary
 void startDocument()
           
 void startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
           
 
Methods inherited from class com.sun.tools.xjc.reader.AbstractExtensionBindingChecker
checkAndEnable, endPrefixMapping, error, isRecognizableExtension, isSupportedExtension, setDocumentLocator, startPrefixMapping, verifyTagName, warning
 
Methods inherited from class com.sun.tools.xjc.util.SubtreeCutter
endElement, isCutting, setContentHandler, startCutting
 
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl
characters, endDocument, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, notationDecl, parse, parse, processingInstruction, resolveEntity, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtensionBindingChecker

public ExtensionBindingChecker(java.lang.String schemaLanguage,
                               Options options,
                               org.xml.sax.ErrorHandler handler)
Method Detail

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Overrides:
startDocument in class AbstractExtensionBindingChecker
Throws:
org.xml.sax.SAXException

startElement

public void startElement(java.lang.String namespaceURI,
                         java.lang.String localName,
                         java.lang.String qName,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class SubtreeCutter
Throws:
org.xml.sax.SAXException