com.sun.tools.ws.wsdl.parser
Class DOMForest

java.lang.Object
  extended by com.sun.tools.ws.wsdl.parser.DOMForest
Direct Known Subclasses:
MetadataFinder

public class DOMForest
extends Object


Nested Class Summary
static interface DOMForest.Handler
           
 
Field Summary
protected  Map<String,Document> core
          actual data storage map<SystemId,Document>.
protected  ErrorReceiver errorReceiver
           
protected  Set<String> externalReferences
          Contains wsdl:import(s)
protected  List<Element> inlinedSchemaElements
          inlined schema elements inside wsdl:type section
 com.sun.tools.xjc.reader.internalizer.LocatorTable locatorTable
          Stores location information for all the trees in this forest.
protected  InternalizationLogic logic
          Schema language dependent part of the processing.
protected  WsimportOptions options
           
 Set<Element> outerMostBindings
          Stores all the outer-most <jaxb:bindings> customizations.
protected  Set<String> rootDocuments
          To correctly feed documents to a schema parser, we need to remember which documents (of the forest) were given as the root documents, and which of them are read as included/imported documents.
 
Constructor Summary
DOMForest(InternalizationLogic logic, WsimportOptions options, ErrorReceiver errReceiver)
           
 
Method Summary
 void addExternalReferences(String ref)
           
 void dump(OutputStream out)
          Dumps the contents of the forest to the specified stream.
 Document get(String systemId)
          Gets the DOM tree associated with the specified system ID, or null if none is found.
 Set<String> getExternalReferences()
           
 String getFirstRootDocument()
          Gets the first one (which is more or less random) in rootDocuments.
 List<Element> getInlinedSchemaElement()
           
 DOMForest.Handler getParserHandler(String systemId, boolean root)
          Returns a ContentHandler to feed SAX events into.
 Set<String> getRootDocuments()
           
 String getSystemId(Document dom)
          Gets the system ID from which the given DOM is parsed.
(package private)  boolean isExtensionMode()
           
 String[] listSystemIDs()
          Gets all the system IDs of the documents.
 Document parse(InputSource source, boolean root)
           
 Document parse(String systemId, boolean root)
          Parses an XML at the given location ( and XMLs referenced by it) into DOM trees and stores them to this forest.
 Document parse(String systemId, InputSource inputSource, boolean root)
          Parses the given document and add it to the DOM forest.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rootDocuments

protected final Set<String> rootDocuments
To correctly feed documents to a schema parser, we need to remember which documents (of the forest) were given as the root documents, and which of them are read as included/imported documents.

Set of system ids as strings.


externalReferences

protected final Set<String> externalReferences
Contains wsdl:import(s)


core

protected final Map<String,Document> core
actual data storage map<SystemId,Document>.


options

protected final WsimportOptions options

errorReceiver

protected final ErrorReceiver errorReceiver

inlinedSchemaElements

protected final List<Element> inlinedSchemaElements
inlined schema elements inside wsdl:type section


locatorTable

public final com.sun.tools.xjc.reader.internalizer.LocatorTable locatorTable
Stores location information for all the trees in this forest.


outerMostBindings

public final Set<Element> outerMostBindings
Stores all the outer-most <jaxb:bindings> customizations.


logic

protected final InternalizationLogic logic
Schema language dependent part of the processing.

Constructor Detail

DOMForest

public DOMForest(InternalizationLogic logic,
                 WsimportOptions options,
                 ErrorReceiver errReceiver)
Method Detail

getInlinedSchemaElement

public List<Element> getInlinedSchemaElement()

parse

@NotNull
public Document parse(InputSource source,
                              boolean root)
               throws SAXException,
                      IOException
Throws:
SAXException
IOException

parse

public Document parse(String systemId,
                      boolean root)
               throws SAXException,
                      IOException
Parses an XML at the given location ( and XMLs referenced by it) into DOM trees and stores them to this forest.

Returns:
the parsed DOM document object.
Throws:
SAXException
IOException

parse

@NotNull
public Document parse(String systemId,
                              InputSource inputSource,
                              boolean root)
               throws SAXException,
                      IOException
Parses the given document and add it to the DOM forest.

Returns:
null if there was a parse error. otherwise non-null.
Throws:
SAXException
IOException

addExternalReferences

public void addExternalReferences(String ref)

getExternalReferences

public Set<String> getExternalReferences()

getParserHandler

public DOMForest.Handler getParserHandler(String systemId,
                                          boolean root)
Returns a ContentHandler to feed SAX events into.

The client of this class can feed SAX events into the handler to parse a document into this DOM forest.


isExtensionMode

boolean isExtensionMode()

get

public Document get(String systemId)
Gets the DOM tree associated with the specified system ID, or null if none is found.


listSystemIDs

public String[] listSystemIDs()
Gets all the system IDs of the documents.


getSystemId

public String getSystemId(Document dom)
Gets the system ID from which the given DOM is parsed.

Poor-man's base URI.


getFirstRootDocument

public String getFirstRootDocument()
Gets the first one (which is more or less random) in rootDocuments.


getRootDocuments

public Set<String> getRootDocuments()

dump

public void dump(OutputStream out)
          throws IOException
Dumps the contents of the forest to the specified stream.

This is a debug method. As such, error handling is sloppy.

Throws:
IOException