|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.axis.wsdl.symbolTable.SymbolTable
This class represents a table of all of the top-level symbols from a set of WSDL Definitions and DOM Documents: XML types; WSDL messages, portTypes, bindings, and services.
This symbolTable contains entries of the form
| Field Summary | |
static java.lang.String |
ANON_TOKEN
Field ANON_TOKEN |
protected java.util.HashMap |
derivedTypes
|
protected java.util.Map |
node2ExtensionBase
cache of nodes -> base types for complexTypes. |
protected boolean |
quiet
Field quiet |
| Constructor Summary | |
SymbolTable(BaseTypeMapping btm,
boolean addImports,
boolean verbose,
boolean nowrap)
Construct a symbol table with the given Namespaces. |
|
| Method Summary | |
protected void |
add(java.lang.String context,
javax.wsdl.Definition def,
org.w3c.dom.Document doc)
Add the given Definition and Document information to the symbol table (including imported symbols), populating it with SymTabEntries for each of the top-level symbols. |
protected void |
createTypeFromRef(org.w3c.dom.Node node)
Node may contain a reference (via type=, ref=, or element= attributes) to another type. |
void |
dump(java.io.PrintStream out)
Dump the contents of the symbol table. |
protected void |
ensureOperationMessageValid(javax.wsdl.Message message)
ensures that a message in a <input>, <output>,
or <fault> element in an |
protected void |
ensureOperationsOfPortTypeValid(javax.wsdl.PortType portType)
ensures that an an element <portType>
is valid. |
protected void |
ensureOperationValid(javax.wsdl.Operation operation)
ensures that an an element <operation> within
an element <portType> |
protected boolean |
existsPortWithName(QName name)
checks whether there exists a WSDL port with a given name in the current symbol table |
SymTabEntry |
get(QName qname,
java.lang.Class cls)
Get the entry with the given QName of the given class. |
BindingEntry |
getBindingEntry(QName qname)
Get the BindingEntry with the given QName. |
javax.wsdl.Definition |
getDefinition()
Get the Definition. |
Element |
getElement(QName qname)
Get the Element TypeEntry with the given QName. |
java.util.Map |
getElementFormDefaults()
|
java.util.Map |
getElementIndex()
Return an unmodifiable map of qnames -> Elements in the symbol table. |
java.util.HashMap |
getHashMap()
Get the raw symbol table HashMap. |
java.util.List |
getMessageEntries()
|
MessageEntry |
getMessageEntry(QName qname)
Get the MessageEntry with the given QName. |
Parameters |
getOperationParameters(javax.wsdl.Operation operation,
java.lang.String namespace,
BindingEntry bindingEntry)
For the given operation, this method returns the parameter info conveniently collated. |
void |
getParametersFromParts(java.util.Vector v,
java.util.Collection parts,
boolean literal,
java.lang.String opName,
BindingEntry bindingEntry)
This method returns a vector containing Parameters which represent each Part (shouldn't we call these "Parts" or something?) This routine does the wrapped doc/lit processing. |
PortTypeEntry |
getPortTypeEntry(QName qname)
Get the PortTypeEntry with the given QName. |
ServiceEntry |
getServiceEntry(QName qname)
Get the ServiceEntry with the given QName. |
java.util.Vector |
getSymbols(QName qname)
Get the list of entries with the given QName. |
Type |
getType(QName qname)
Get the Type TypeEntry with the given QName. |
TypeEntry |
getTypeEntry(QName qname,
boolean wantElementType)
Get the type entry for the given qname. |
int |
getTypeEntryCount()
Return the count of TypeEntries in the symbol table. |
java.util.Map |
getTypeIndex()
Return an unmodifiable map of qnames -> Elements in the symbol table. |
java.util.Vector |
getTypes()
Deprecated. use specialized get{Element,Type}Index() methods instead |
java.lang.String |
getWSDLURI()
Get the WSDL URI. |
boolean |
isKnownNamespace(java.lang.String namespace)
Check if this is a known namespace (soap-enc or schema xsd or schema xsi or xml) |
boolean |
isQuiet()
Method isQuiet |
boolean |
isWrapped()
Are we wrapping literal soap body elements. |
void |
populate(java.lang.String uri)
Call this method if you have a uri for the WSDL document |
void |
populate(java.lang.String context,
org.w3c.dom.Document doc)
Call this method if your WSDL document has already been parsed as an XML DOM document. |
void |
populate(java.lang.String uri,
java.lang.String username,
java.lang.String password)
Method populate |
void |
populateTypes(java.net.URL context,
org.w3c.dom.Document doc)
Populate the symbol table with all of the Types from the Document. |
protected void |
processTypes()
|
void |
setQuiet(boolean quiet)
Method setQuiet |
void |
setWrapArrays(boolean wrapArrays)
|
void |
setWrapped(boolean wrapped)
Turn on/off element wrapping for literal soap body's. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected java.util.HashMap derivedTypes
protected final java.util.Map node2ExtensionBase
protected boolean quiet
public static final java.lang.String ANON_TOKEN
| Constructor Detail |
public SymbolTable(BaseTypeMapping btm,
boolean addImports,
boolean verbose,
boolean nowrap)
btm - addImports - verbose - nowrap - | Method Detail |
public boolean isQuiet()
public void setQuiet(boolean quiet)
quiet - public java.util.HashMap getHashMap()
public java.util.Vector getSymbols(QName qname)
qname -
public SymTabEntry get(QName qname,
java.lang.Class cls)
qname - cls -
public TypeEntry getTypeEntry(QName qname,
boolean wantElementType)
qname - wantElementType - boolean that indicates type or element (for type= or ref=)
public Type getType(QName qname)
qname -
public Element getElement(QName qname)
qname -
public MessageEntry getMessageEntry(QName qname)
qname -
public PortTypeEntry getPortTypeEntry(QName qname)
qname -
public BindingEntry getBindingEntry(QName qname)
qname -
public ServiceEntry getServiceEntry(QName qname)
qname -
public java.util.Vector getTypes()
public java.util.Map getElementIndex()
Map valuepublic java.util.Map getTypeIndex()
Map valuepublic int getTypeEntryCount()
int valuepublic javax.wsdl.Definition getDefinition()
public java.lang.String getWSDLURI()
public boolean isWrapped()
public void setWrapped(boolean wrapped)
wrapped - public void dump(java.io.PrintStream out)
out -
public void populate(java.lang.String uri)
throws java.io.IOException,
javax.wsdl.WSDLException,
org.xml.sax.SAXException,
javax.xml.parsers.ParserConfigurationException
uri - wsdlURI the location of the WSDL file.
java.io.IOException
javax.wsdl.WSDLException
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationException
public void populate(java.lang.String uri,
java.lang.String username,
java.lang.String password)
throws java.io.IOException,
javax.wsdl.WSDLException,
org.xml.sax.SAXException,
javax.xml.parsers.ParserConfigurationException
uri - username - password -
java.io.IOException
javax.wsdl.WSDLException
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationException
public void populate(java.lang.String context,
org.w3c.dom.Document doc)
throws java.io.IOException,
org.xml.sax.SAXException,
javax.wsdl.WSDLException,
javax.xml.parsers.ParserConfigurationException
context - context This is directory context for the Document. If the Document were from file "/x/y/z.wsdl" then the context could be "/x/y" (even "/x/y/z.wsdl" would work). If context is null, then the context becomes the current directory.doc - doc This is the XML Document containing the WSDL.
java.io.IOException
org.xml.sax.SAXException
javax.wsdl.WSDLException
javax.xml.parsers.ParserConfigurationException
protected void add(java.lang.String context,
javax.wsdl.Definition def,
org.w3c.dom.Document doc)
throws java.io.IOException,
org.xml.sax.SAXException,
javax.wsdl.WSDLException,
javax.xml.parsers.ParserConfigurationException
context - def - doc -
java.io.IOException
org.xml.sax.SAXException
javax.wsdl.WSDLException
javax.xml.parsers.ParserConfigurationExceptionpublic boolean isKnownNamespace(java.lang.String namespace)
namespace -
public void populateTypes(java.net.URL context,
org.w3c.dom.Document doc)
throws java.io.IOException,
org.xml.sax.SAXException,
javax.wsdl.WSDLException,
javax.xml.parsers.ParserConfigurationException
context - doc -
java.io.IOException
org.xml.sax.SAXException
javax.wsdl.WSDLException
javax.xml.parsers.ParserConfigurationException
protected void createTypeFromRef(org.w3c.dom.Node node)
throws java.io.IOException
node -
java.io.IOException
protected void ensureOperationMessageValid(javax.wsdl.Message message)
throws java.io.IOException
<input>, <output>,
or <fault> element in an <operation>
element is valid. In particular, ensures that
- an attribute
message is present (according to the
XML Schema for WSDL 1.1 message is required
- the value of attribute
message (a QName) refers to
an already defined message
Note: this method should throw a javax.wsdl.WSDLException rather than
a java.io.IOException
- Parameters:
message - the message object
- Throws:
java.io.IOException - thrown, if the message is not valid
protected void ensureOperationValid(javax.wsdl.Operation operation)
throws java.io.IOException
<operation> within
an element <portType> is valid. Throws an exception
if the operation is not valid.
Note: this method should throw a javax.wsdl.WSDLException
rather than a java.io.IOException
- Parameters:
operation - the operation element
- Throws:
java.io.IOException - thrown, if the element is not valid.
java.lang.IllegalArgumentException - thrown, if operation is null
protected void ensureOperationsOfPortTypeValid(javax.wsdl.PortType portType)
throws java.io.IOException
<portType>
is valid. Throws an exception if the portType is not valid.
Note: this method should throw a javax.wsdl.WSDLException
rather than a java.io.IOException
portType - the portType element
java.io.IOException - thrown, if the element is not valid.
java.lang.IllegalArgumentException - thrown, if operation is null
public Parameters getOperationParameters(javax.wsdl.Operation operation,
java.lang.String namespace,
BindingEntry bindingEntry)
throws java.io.IOException
operation - namespace - bindingEntry -
java.io.IOException
public void getParametersFromParts(java.util.Vector v,
java.util.Collection parts,
boolean literal,
java.lang.String opName,
BindingEntry bindingEntry)
throws java.io.IOException
v - The output vector of parametersparts - The parts of the messageliteral - Are we in a literal operation (or fault)?opName - The operation (or fault) namebindingEntry - The binding for this operation - can be NULL if we are looking at a fault
java.io.IOException - when encountering an error in the WSDLprotected boolean existsPortWithName(QName name)
name - the QName of the port. Note: only the local part of the qname is relevant,
since port names are not qualified with a namespace. They are of type nmtoken in WSDL 1.1
and of type ncname in WSDL 1.2
protected void processTypes()
public java.util.List getMessageEntries()
public void setWrapArrays(boolean wrapArrays)
public java.util.Map getElementFormDefaults()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||