com.ibm.wsdl

Class DefinitionImpl

Implemented Interfaces:
Definition, java.io.Serializable, ElementExtensible

public class DefinitionImpl
extends java.lang.Object
implements Definition

This class represents a WSDL definition.

Authors:
Paul Fremantle
Nirmal Mukhi
Matthew J. Duftler

Field Summary

protected Map
bindings
protected Element
docEl
protected String
documentBaseURI
protected List
extElements
protected ExtensionRegistry
extReg
protected Map
imports
protected Map
messages
protected QName
name
protected Map
namespaces
protected Map
portTypes
static long
serialVersionUID
protected Map
services
protected String
targetNamespace
protected Types
types

Method Summary

void
addBinding(Binding binding)
Add a binding to this WSDL description.
void
addExtensibilityElement(ExtensibilityElement extElement)
Add an extensibility element.
void
addImport(Import importDef)
Add an import to this WSDL description.
void
addMessage(Message message)
Add a message to this WSDL description.
void
addNamespace(String prefix, String namespaceURI)
This is a way to add a namespace association to a definition.
void
addPortType(PortType portType)
Add a portType to this WSDL description.
void
addService(Service service)
Add a service to this WSDL description.
Binding
createBinding()
Create a new binding.
BindingFault
createBindingFault()
Create a new binding fault.
BindingInput
createBindingInput()
Create a new binding input.
BindingOperation
createBindingOperation()
Create a new binding operation.
BindingOutput
createBindingOutput()
Create a new binding output.
Fault
createFault()
Create a new fault.
Import
createImport()
Create a new import.
Input
createInput()
Create a new input.
Message
createMessage()
Create a new message.
Operation
createOperation()
Create a new operation.
Output
createOutput()
Create a new output.
Part
createPart()
Create a new part.
Port
createPort()
Create a new port.
PortType
createPortType()
Create a new port type.
Service
createService()
Create a new service.
Types
createTypes()
Create a new types section.
Binding
getBinding(QName name)
Get the specified binding.
Map
getBindings()
Get all the bindings defined here.
String
getDocumentBaseURI()
Get the document base URI of this definition.
Element
getDocumentationElement()
Get the documentation element.
List
getExtensibilityElements()
Get all the extensibility elements defined here.
ExtensionRegistry
getExtensionRegistry()
Get a reference to the ExtensionRegistry for this Definition.
Map
getImports()
Get a map of lists containing all the imports defined here.
List
getImports(String namespaceURI)
Get the list of imports for the specified namespaceURI.
Message
getMessage(QName name)
Get the specified message.
Map
getMessages()
Get all the messages defined here.
String
getNamespace(String prefix)
Get the namespace URI associated with this prefix.
Map
getNamespaces()
Get all namespace associations in this definition.
PortType
getPortType(QName name)
Get the specified portType.
Map
getPortTypes()
Get all the portTypes defined here.
String
getPrefix(String namespaceURI)
Get a prefix associated with this namespace URI.
QName
getQName()
Get the name of this definition.
Service
getService(QName name)
Get the specified service.
Map
getServices()
Get all the services defined here.
String
getTargetNamespace()
Get the target namespace in which the WSDL elements are defined.
Types
getTypes()
Get the types section.
Binding
removeBinding(QName name)
Remove the specified binding from this definition.
Message
removeMessage(QName name)
Remove the specified message from this definition.
PortType
removePortType(QName name)
Remove the specified portType from this definition.
Service
removeService(QName name)
Remove the specified service from this definition.
void
setDocumentBaseURI(String documentBaseURI)
Set the document base URI of this definition.
void
setDocumentationElement(Element docEl)
Set the documentation element for this document.
void
setExtensionRegistry(ExtensionRegistry extReg)
Set the ExtensionRegistry for this Definition.
void
setQName(QName name)
Set the name of this definition.
void
setTargetNamespace(String targetNamespace)
Set the target namespace in which WSDL elements are defined.
void
setTypes(Types types)
Set the types section.
String
toString()

Field Details

bindings

protected Map bindings


docEl

protected Element docEl


documentBaseURI

protected String documentBaseURI


extElements

protected List extElements


extReg

protected ExtensionRegistry extReg


imports

protected Map imports


messages

protected Map messages


name

protected QName name


namespaces

protected Map namespaces


portTypes

protected Map portTypes


serialVersionUID

public static final long serialVersionUID

Field Value:
1L


services

protected Map services


targetNamespace

protected String targetNamespace


types

protected Types types

Method Details

addBinding

public void addBinding(Binding binding)
Add a binding to this WSDL description.
Specified by:
addBinding in interface Definition

Parameters:
binding - the binding to be added


addExtensibilityElement

public void addExtensibilityElement(ExtensibilityElement extElement)
Add an extensibility element.
Specified by:
addExtensibilityElement in interface ElementExtensible

Parameters:
extElement - the extensibility element to be added


addImport

public void addImport(Import importDef)
Add an import to this WSDL description.
Specified by:
addImport in interface Definition

Parameters:
importDef - the import to be added


addMessage

public void addMessage(Message message)
Add a message to this WSDL description.
Specified by:
addMessage in interface Definition

Parameters:
message - the message to be added


addNamespace

public void addNamespace(String prefix,
                         String namespaceURI)
This is a way to add a namespace association to a definition. It is similar to adding a namespace prefix declaration to the top of a <wsdl:definition> element. This has nothing to do with the <wsdl:import> element; there are separate methods for dealing with information described by <wsdl:import> elements.
Specified by:
addNamespace in interface Definition

Parameters:
prefix - the prefix to use for this namespace (when rendering this information as XML). Use null or an empty string to describe the default namespace (i.e. xmlns="...").
namespaceURI - the namespace URI to associate the prefix with. If you use null, the namespace association will be removed.


addPortType

public void addPortType(PortType portType)
Add a portType to this WSDL description.
Specified by:
addPortType in interface Definition

Parameters:
portType - the portType to be added


addService

public void addService(Service service)
Add a service to this WSDL description.
Specified by:
addService in interface Definition

Parameters:
service - the service to be added


createBinding

public Binding createBinding()
Create a new binding.
Specified by:
createBinding in interface Definition

Returns:
the newly created binding


createBindingFault

public BindingFault createBindingFault()
Create a new binding fault.
Specified by:
createBindingFault in interface Definition

Returns:
the newly created binding fault


createBindingInput

public BindingInput createBindingInput()
Create a new binding input.
Specified by:
createBindingInput in interface Definition

Returns:
the newly created binding input


createBindingOperation

public BindingOperation createBindingOperation()
Create a new binding operation.
Specified by:
createBindingOperation in interface Definition

Returns:
the newly created binding operation


createBindingOutput

public BindingOutput createBindingOutput()
Create a new binding output.
Specified by:
createBindingOutput in interface Definition

Returns:
the newly created binding output


createFault

public Fault createFault()
Create a new fault.
Specified by:
createFault in interface Definition

Returns:
the newly created fault


createImport

public Import createImport()
Create a new import.
Specified by:
createImport in interface Definition

Returns:
the newly created import


createInput

public Input createInput()
Create a new input.
Specified by:
createInput in interface Definition

Returns:
the newly created input


createMessage

public Message createMessage()
Create a new message.
Specified by:
createMessage in interface Definition

Returns:
the newly created message


createOperation

public Operation createOperation()
Create a new operation.
Specified by:
createOperation in interface Definition

Returns:
the newly created operation


createOutput

public Output createOutput()
Create a new output.
Specified by:
createOutput in interface Definition

Returns:
the newly created output


createPart

public Part createPart()
Create a new part.
Specified by:
createPart in interface Definition

Returns:
the newly created part


createPort

public Port createPort()
Create a new port.
Specified by:
createPort in interface Definition

Returns:
the newly created port


createPortType

public PortType createPortType()
Create a new port type.
Specified by:
createPortType in interface Definition

Returns:
the newly created port type


createService

public Service createService()
Create a new service.
Specified by:
createService in interface Definition

Returns:
the newly created service


createTypes

public Types createTypes()
Create a new types section.
Specified by:
createTypes in interface Definition

Returns:
the newly created types section


getBinding

public Binding getBinding(QName name)
Get the specified binding. Also checks imported documents.
Specified by:
getBinding in interface Definition

Parameters:
name - the name of the desired binding.

Returns:
the corresponding binding, or null if there wasn't any matching binding


getBindings

public Map getBindings()
Get all the bindings defined here.
Specified by:
getBindings in interface Definition


getDocumentBaseURI

public String getDocumentBaseURI()
Get the document base URI of this definition.
Specified by:
getDocumentBaseURI in interface Definition

Returns:
the document base URI


getDocumentationElement

public Element getDocumentationElement()
Get the documentation element. This dependency on org.w3c.dom.Element should eventually be removed when a more appropriate way of representing this information is employed.
Specified by:
getDocumentationElement in interface Definition

Returns:
the documentation element


getExtensibilityElements

public List getExtensibilityElements()
Get all the extensibility elements defined here.
Specified by:
getExtensibilityElements in interface ElementExtensible


getExtensionRegistry

public ExtensionRegistry getExtensionRegistry()
Get a reference to the ExtensionRegistry for this Definition.
Specified by:
getExtensionRegistry in interface Definition


getImports

public Map getImports()
Get a map of lists containing all the imports defined here. The map's keys are the namespaceURIs, and the map's values are lists. There is one list for each namespaceURI for which imports have been defined.
Specified by:
getImports in interface Definition


getImports

public List getImports(String namespaceURI)
Get the list of imports for the specified namespaceURI.
Specified by:
getImports in interface Definition

Parameters:
namespaceURI - the namespaceURI associated with the desired imports.

Returns:
a list of the corresponding imports, or null if there weren't any matching imports


getMessage

public Message getMessage(QName name)
Get the specified message. Also checks imported documents.
Specified by:
getMessage in interface Definition

Parameters:
name - the name of the desired message.

Returns:
the corresponding message, or null if there wasn't any matching message


getMessages

public Map getMessages()
Get all the messages defined here.
Specified by:
getMessages in interface Definition


getNamespace

public String getNamespace(String prefix)
Get the namespace URI associated with this prefix. Or null if there is no namespace URI associated with this prefix. This is unrelated to the <wsdl:import> element.
Specified by:
getNamespace in interface Definition

See Also:
addNamespace(String,String), getPrefix(String)


getNamespaces

public Map getNamespaces()
Get all namespace associations in this definition. The keys are the prefixes, and the namespace URIs are the values. This is unrelated to the <wsdl:import> element.
Specified by:
getNamespaces in interface Definition

See Also:
addNamespace(String,String)


getPortType

public PortType getPortType(QName name)
Get the specified portType. Also checks imported documents.
Specified by:
getPortType in interface Definition

Parameters:
name - the name of the desired portType.

Returns:
the corresponding portType, or null if there wasn't any matching portType


getPortTypes

public Map getPortTypes()
Get all the portTypes defined here.
Specified by:
getPortTypes in interface Definition


getPrefix

public String getPrefix(String namespaceURI)
Get a prefix associated with this namespace URI. Or null if there are no prefixes associated with this namespace URI. This is unrelated to the <wsdl:import> element.
Specified by:
getPrefix in interface Definition

See Also:
addNamespace(String,String), getNamespace(String)


getQName

public QName getQName()
Get the name of this definition.
Specified by:
getQName in interface Definition

Returns:
the definition name


getService

public Service getService(QName name)
Get the specified service. Also checks imported documents.
Specified by:
getService in interface Definition

Parameters:
name - the name of the desired service.

Returns:
the corresponding service, or null if there wasn't any matching service


getServices

public Map getServices()
Get all the services defined here.
Specified by:
getServices in interface Definition


getTargetNamespace

public String getTargetNamespace()
Get the target namespace in which the WSDL elements are defined.
Specified by:
getTargetNamespace in interface Definition

Returns:
the target namespace


getTypes

public Types getTypes()
Get the types section.
Specified by:
getTypes in interface Definition

Returns:
the types section


removeBinding

public Binding removeBinding(QName name)
Remove the specified binding from this definition.
Specified by:
removeBinding in interface Definition

Parameters:
name - the name of the binding to remove

Returns:
the binding previously associated with this qname, if there was one; may return null


removeMessage

public Message removeMessage(QName name)
Remove the specified message from this definition.
Specified by:
removeMessage in interface Definition

Parameters:
name - the name of the message to remove

Returns:
the message previously associated with this qname, if there was one; may return null


removePortType

public PortType removePortType(QName name)
Remove the specified portType from this definition.
Specified by:
removePortType in interface Definition

Parameters:
name - the name of the portType to remove

Returns:
the portType previously associated with this qname, if there was one; may return null


removeService

public Service removeService(QName name)
Remove the specified service from this definition.
Specified by:
removeService in interface Definition

Parameters:
name - the name of the service to remove

Returns:
the service previously associated with this qname, if there was one; may return null


setDocumentBaseURI

public void setDocumentBaseURI(String documentBaseURI)
Set the document base URI of this definition. Can be used to represent the origin of the Definition, and can be exploited when resolving relative URIs (e.g. in <import>s).
Specified by:
setDocumentBaseURI in interface Definition

Parameters:
documentBaseURI - the document base URI of this definition


setDocumentationElement

public void setDocumentationElement(Element docEl)
Set the documentation element for this document. This dependency on org.w3c.dom.Element should eventually be removed when a more appropriate way of representing this information is employed.
Specified by:
setDocumentationElement in interface Definition

Parameters:
docEl - the documentation element


setExtensionRegistry

public void setExtensionRegistry(ExtensionRegistry extReg)
Set the ExtensionRegistry for this Definition.
Specified by:
setExtensionRegistry in interface Definition


setQName

public void setQName(QName name)
Set the name of this definition.
Specified by:
setQName in interface Definition

Parameters:
name - the desired name


setTargetNamespace

public void setTargetNamespace(String targetNamespace)
Set the target namespace in which WSDL elements are defined.
Specified by:
setTargetNamespace in interface Definition

Parameters:
targetNamespace - the target namespace


setTypes

public void setTypes(Types types)
Set the types section.
Specified by:
setTypes in interface Definition


toString

public String toString()


Copyright B) 2003,2005 IBM. All Rights Reserved.