javax.wsdl.Definition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.apache.cxf Show documentation
Show all versions of org.apache.cxf Show documentation
Apache CXF is an open-source services framework that aids in
the development of services using front-end programming APIs, like JAX-WS
and JAX-RS.
/*
* (c) Copyright IBM Corp 2001, 2006
*/
package javax.wsdl;
import java.util.*;
import javax.wsdl.extensions.*;
import javax.xml.namespace.*;
/**
* This interface represents a WSDL definition.
*
* @author Paul Fremantle
* @author Nirmal Mukhi
* @author Matthew J. Duftler
*/
public interface Definition extends WSDLElement
{
/**
* 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).
*
* @param documentBaseURI the document base URI of this definition
*/
public void setDocumentBaseURI(String documentBaseURI);
/**
* Get the document base URI of this definition.
*
* @return the document base URI
*/
public String getDocumentBaseURI();
/**
* Set the name of this definition.
*
* @param name the desired name
*/
public void setQName(QName name);
/**
* Get the name of this definition.
*
* @return the definition name
*/
public QName getQName();
/**
* Set the target namespace in which WSDL elements are defined.
*
* @param targetNamespace the target namespace
*/
public void setTargetNamespace(String targetNamespace);
/**
* Get the target namespace in which the WSDL elements
* are defined.
*
* @return the target namespace
*/
public String getTargetNamespace();
/**
* 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.
*
* @param 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="...").
* @param namespaceURI the namespace URI to associate the prefix
* with. If you use null, the namespace association will be removed.
*/
public void addNamespace(String prefix, String namespaceURI);
/**
* 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.
*
* @see #addNamespace(String, String)
* @see #getPrefix(String)
*/
public String getNamespace(String prefix);
/**
* Remove the namespace URI associated with this prefix.
*
* @param prefix the prefix of the namespace to be removed.
* @return the namespace URI which was removed.
*/
public String removeNamespace(String prefix);
/**
* 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.
*
* @see #addNamespace(String, String)
* @see #getNamespace(String)
*/
public String getPrefix(String namespaceURI);
/**
* 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.
*
* @see #addNamespace(String, String)
*/
public Map getNamespaces();
/**
* Set the types section.
*/
public void setTypes(Types types);
/**
* Get the types section.
*
* @return the types section
*/
public Types getTypes();
/**
* Add an import to this WSDL description.
*
* @param importDef the import to be added
*/
public void addImport(Import importDef);
/**
* Remove an import from this WSDL description.
*
* @param importDef the import to be removed
* @return the removed Import
*/
public Import removeImport(Import importDef);
/**
* Get the list of imports for the specified namespaceURI.
*
* @param namespaceURI the namespaceURI associated with the
* desired imports.
* @return a list of the corresponding imports, or null if
* there weren't any matching imports
*/
public List getImports(String namespaceURI);
/**
* 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.
*/
public Map getImports();
/**
* Add a message to this WSDL description.
*
* @param message the message to be added
*/
public void addMessage(Message message);
/**
* Get the specified message. Also checks imported documents.
*
* @param name the name of the desired message.
* @return the corresponding message, or null if there wasn't
* any matching message
*/
public Message getMessage(QName name);
/**
* Remove the specified message from this definition.
*
* @param name the name of the message to remove
* @return the message previously associated with this qname, if there
* was one; may return null
*/
public Message removeMessage(QName name);
/**
* Get all the messages defined here.
*/
public Map getMessages();
/**
* Add a binding to this WSDL description.
*
* @param binding the binding to be added
*/
public void addBinding(Binding binding);
/**
* Get the specified binding. Also checks imported documents.
*
* @param name the name of the desired binding.
* @return the corresponding binding, or null if there wasn't
* any matching binding
*/
public Binding getBinding(QName name);
/**
* Remove the specified binding from this definition.
*
* @param name the name of the binding to remove
* @return the binding previously associated with this qname, if there
* was one; may return null
*/
public Binding removeBinding(QName name);
/**
* Get all the bindings defined in this Definition.
*/
public Map getBindings();
/**
* Get all the bindings defined in this Definition and
* those in any imported Definitions down the WSDL tree.
*/
public Map getAllBindings();
/**
* Add a portType to this WSDL description.
*
* @param portType the portType to be added
*/
public void addPortType(PortType portType);
/**
* Get the specified portType. Also checks imported documents.
*
* @param name the name of the desired portType.
* @return the corresponding portType, or null if there wasn't
* any matching portType
*/
public PortType getPortType(QName name);
/**
* Remove the specified portType from this definition.
*
* @param name the name of the portType to remove
* @return the portType previously associated with this qname, if there
* was one; may return null
*/
public PortType removePortType(QName name);
/**
* Get all the portTypes defined in this Definition.
*/
public Map getPortTypes();
/**
* Get all the portTypes defined in this Definition and
* those in any imported Definitions down the WSDL tree.
*/
public Map getAllPortTypes();
/**
* Add a service to this WSDL description.
*
* @param service the service to be added
*/
public void addService(Service service);
/**
* Get the specified service. Also checks imported documents.
*
* @param name the name of the desired service.
* @return the corresponding service, or null if there wasn't
* any matching service
*/
public Service getService(QName name);
/**
* Remove the specified service from this definition.
*
* @param name the name of the service to remove
* @return the service previously associated with this qname, if there
* was one; may return null
*/
public Service removeService(QName name);
/**
* Get all the services defined in this Definition.
*/
public Map getServices();
/**
* Get all the services defined in this Definition and
* those in any imported Definitions down the WSDL tree.
*/
public Map getAllServices();
/**
* Create a new binding.
*
* @return the newly created binding
*/
public Binding createBinding();
/**
* Create a new binding fault.
*
* @return the newly created binding fault
*/
public BindingFault createBindingFault();
/**
* Create a new binding input.
*
* @return the newly created binding input
*/
public BindingInput createBindingInput();
/**
* Create a new binding operation.
*
* @return the newly created binding operation
*/
public BindingOperation createBindingOperation();
/**
* Create a new binding output.
*
* @return the newly created binding output
*/
public BindingOutput createBindingOutput();
/**
* Create a new fault.
*
* @return the newly created fault
*/
public Fault createFault();
/**
* Create a new import.
*
* @return the newly created import
*/
public Import createImport();
/**
* Create a new input.
*
* @return the newly created input
*/
public Input createInput();
/**
* Create a new message.
*
* @return the newly created message
*/
public Message createMessage();
/**
* Create a new operation.
*
* @return the newly created operation
*/
public Operation createOperation();
/**
* Create a new output.
*
* @return the newly created output
*/
public Output createOutput();
/**
* Create a new part.
*
* @return the newly created part
*/
public Part createPart();
/**
* Create a new port.
*
* @return the newly created port
*/
public Port createPort();
/**
* Create a new port type.
*
* @return the newly created port type
*/
public PortType createPortType();
/**
* Create a new service.
*
* @return the newly created service
*/
public Service createService();
/**
* Create a new types section.
*
* @return the newly created types section
*/
public Types createTypes();
/**
* Get a reference to the ExtensionRegistry for this Definition.
*/
public ExtensionRegistry getExtensionRegistry();
/**
* Set the ExtensionRegistry for this Definition.
*/
public void setExtensionRegistry(ExtensionRegistry extReg);
}