com.sun.xml.ws.model.wsdl
Class WSDLOperationImpl

java.lang.Object
  extended by com.sun.xml.ws.model.wsdl.WSDLOperationImpl
All Implemented Interfaces:
WSDLExtensible, WSDLObject, WSDLOperation

public final class WSDLOperationImpl
extends java.lang.Object
implements WSDLOperation

Implementaiton of WSDLOperation


Nested Class Summary
protected static class AbstractExtensibleImpl.UnknownWSDLExtension
           
 
Field Summary
protected  java.util.Set<WSDLExtension> extensions
           
protected  java.lang.Iterable<WSDLMessageImpl> messages
           
protected  java.util.List<AbstractExtensibleImpl.UnknownWSDLExtension> notUnderstoodExtensions
           
 
Constructor Summary
WSDLOperationImpl(javax.xml.stream.XMLStreamReader xsr, WSDLPortTypeImpl owner, javax.xml.namespace.QName name)
           
 
Method Summary
 void addExtension(WSDLExtension ex)
          Adds a new WSDLExtension to this object.
 void addFault(WSDLFaultImpl fault)
           
 void addNotUnderstoodExtension(javax.xml.namespace.QName extnEl, org.xml.sax.Locator locator)
          This can be used if a WSDL extension element that has wsdl:required=true is not understood
 boolean areRequiredExtensionsUnderstood()
          This method should be called after freezing the WSDLModel
 void freez(WSDLModelImpl root)
           
<T extends WSDLExtension>
T
getExtension(java.lang.Class<T> type)
          Gets the extension that is assignable to the given type.
 java.lang.Iterable<WSDLExtension> getExtensions()
          Gets all the WSDLExtensions added through WSDLExtensible.addExtension(WSDLExtension).
<T extends WSDLExtension>
java.lang.Iterable<T>
getExtensions(java.lang.Class<T> type)
          Gets all the extensions that is assignable to the given type.
 WSDLFault getFault(javax.xml.namespace.QName faultDetailName)
          Gives WSDLFault for the given soap fault detail value.
 java.lang.Iterable<WSDLFaultImpl> getFaults()
          Gets the WSDLFault corresponding to wsdl:fault of this operation.
 WSDLInputImpl getInput()
          Gets the wsdl:input of this operation
 org.xml.sax.Locator getLocation()
          Gets the source location information in the parsed WSDL.
 javax.xml.namespace.QName getName()
          Gets the name of the wsdl:portType/wsdl:operation@name attribute value as local name and wsdl:definitions@targetNamespace as the namespace uri.
 WSDLOutputImpl getOutput()
          Gets the wsdl:output of this operation.
 java.lang.String getParameterOrder()
           
 javax.xml.namespace.QName getPortTypeName()
          Gives the enclosing wsdl:portType@name attribute value.
 boolean isOneWay()
          Returns true if this operation is an one-way operation.
 void setInput(WSDLInputImpl input)
           
 void setOutput(WSDLOutputImpl output)
           
 void setParameterOrder(java.lang.String parameterOrder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.xml.ws.api.model.wsdl.WSDLExtensible
addExtension, getExtension, getExtensions, getExtensions
 
Methods inherited from interface com.sun.xml.ws.api.model.wsdl.WSDLObject
getLocation
 

Field Detail

messages

protected java.lang.Iterable<WSDLMessageImpl> messages

extensions

protected final java.util.Set<WSDLExtension> extensions

notUnderstoodExtensions

protected java.util.List<AbstractExtensibleImpl.UnknownWSDLExtension> notUnderstoodExtensions
Constructor Detail

WSDLOperationImpl

public WSDLOperationImpl(javax.xml.stream.XMLStreamReader xsr,
                         WSDLPortTypeImpl owner,
                         javax.xml.namespace.QName name)
Method Detail

getName

public javax.xml.namespace.QName getName()
Description copied from interface: WSDLOperation
Gets the name of the wsdl:portType/wsdl:operation@name attribute value as local name and wsdl:definitions@targetNamespace as the namespace uri.

Specified by:
getName in interface WSDLOperation

getParameterOrder

public java.lang.String getParameterOrder()

setParameterOrder

public void setParameterOrder(java.lang.String parameterOrder)

getInput

public WSDLInputImpl getInput()
Description copied from interface: WSDLOperation
Gets the wsdl:input of this operation

Specified by:
getInput in interface WSDLOperation

setInput

public void setInput(WSDLInputImpl input)

getOutput

public WSDLOutputImpl getOutput()
Description copied from interface: WSDLOperation
Gets the wsdl:output of this operation.

Specified by:
getOutput in interface WSDLOperation
Returns:
null if this is an one-way operation.

isOneWay

public boolean isOneWay()
Description copied from interface: WSDLOperation
Returns true if this operation is an one-way operation.

Specified by:
isOneWay in interface WSDLOperation

setOutput

public void setOutput(WSDLOutputImpl output)

getFaults

public java.lang.Iterable<WSDLFaultImpl> getFaults()
Description copied from interface: WSDLOperation
Gets the WSDLFault corresponding to wsdl:fault of this operation.

Specified by:
getFaults in interface WSDLOperation

getFault

public WSDLFault getFault(javax.xml.namespace.QName faultDetailName)
Description copied from interface: WSDLOperation
Gives WSDLFault for the given soap fault detail value.

 Given a wsdl fault:

 <wsdl:message nae="faultMessage">
  <wsdl:part name="fault" element="ns:myException/>
 </wsdl:message>

 <wsdl:portType>
  <wsdl:operation ...>
      <wsdl:fault name="aFault" message="faultMessage"/>
  </wsdl:operation>
 <wsdl:portType>


 For example given a soap 11 soap message:

 <soapenv:Fault>
      ...
      <soapenv:detail>
          <ns:myException>
              ...
          </ns:myException>
      </soapenv:detail>

 QName faultQName = new QName(ns, "myException");
 WSDLFault wsdlFault  = getFault(faultQName);

 The above call will return a WSDLFault that abstracts wsdl:portType/wsdl:operation/wsdl:fault.

 

Specified by:
getFault in interface WSDLOperation
Parameters:
faultDetailName - tag name of the element inside soaenv:Fault/detail/, must be non-null.
Returns:
returns null if a wsdl fault corresponding to the detail entry name not found.

getPortTypeName

@NotNull
public javax.xml.namespace.QName getPortTypeName()
Description copied from interface: WSDLOperation
Gives the enclosing wsdl:portType@name attribute value.

Specified by:
getPortTypeName in interface WSDLOperation

addFault

public void addFault(WSDLFaultImpl fault)

freez

public void freez(WSDLModelImpl root)

getExtensions

public final java.lang.Iterable<WSDLExtension> getExtensions()
Description copied from interface: WSDLExtensible
Gets all the WSDLExtensions added through WSDLExtensible.addExtension(WSDLExtension).

Specified by:
getExtensions in interface WSDLExtensible
Returns:
never null.

getExtensions

public final <T extends WSDLExtension> java.lang.Iterable<T> getExtensions(java.lang.Class<T> type)
Description copied from interface: WSDLExtensible
Gets all the extensions that is assignable to the given type.

This allows clients to find specific extensions in a type-safe and convenient way.

Specified by:
getExtensions in interface WSDLExtensible
Parameters:
type - The type of the extension to obtain. Must not be null.
Returns:
Can be an empty fromjava.collection but never null.

getExtension

public <T extends WSDLExtension> T getExtension(java.lang.Class<T> type)
Description copied from interface: WSDLExtensible
Gets the extension that is assignable to the given type.

This is just a convenient version that does

 Iterator itr = getExtensions(type);
 if(itr.hasNext())  return itr.next();
 else               return null;
 

Specified by:
getExtension in interface WSDLExtensible
Returns:
null if the extension was not found.

addExtension

public void addExtension(WSDLExtension ex)
Description copied from interface: WSDLExtensible
Adds a new WSDLExtension to this object.

Specified by:
addExtension in interface WSDLExtensible
Parameters:
ex - must not be null.

addNotUnderstoodExtension

public void addNotUnderstoodExtension(javax.xml.namespace.QName extnEl,
                                      org.xml.sax.Locator locator)
This can be used if a WSDL extension element that has wsdl:required=true is not understood

Parameters:
extnEl -
locator -

areRequiredExtensionsUnderstood

public boolean areRequiredExtensionsUnderstood()
This method should be called after freezing the WSDLModel

Returns:
true if all wsdl required extensions on Port and Binding are understood

getLocation

@NotNull
public final org.xml.sax.Locator getLocation()
Description copied from interface: WSDLObject
Gets the source location information in the parsed WSDL. This is useful when producing error messages.

Specified by:
getLocation in interface WSDLObject


Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.