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

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

public final class WSDLInputImpl
extends Object
implements WSDLInput

Author:
Vivek Pandey

Nested Class Summary
protected static class com.sun.xml.ws.model.wsdl.AbstractExtensibleImpl.UnknownWSDLExtension
           
 
Field Summary
protected  Set<WSDLExtension> extensions
           
protected  List<com.sun.xml.ws.model.wsdl.AbstractExtensibleImpl.UnknownWSDLExtension> notUnderstoodExtensions
           
 
Constructor Summary
WSDLInputImpl(XMLStreamReader xsr, String name, QName messageName, WSDLOperationImpl operation)
           
 
Method Summary
 void addExtension(WSDLExtension ex)
          Adds a new WSDLExtension to this object.
 void addNotUnderstoodExtension(QName extnEl, 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
 String getAction()
          Gives the Action Message Addressing Property value for WSDLInput message.
<T extends WSDLExtension>
T
getExtension(Class<T> type)
          Gets the extension that is assignable to the given type.
 Iterable<WSDLExtension> getExtensions()
          Gets all the WSDLExtensions added through WSDLExtensible.addExtension(WSDLExtension).
<T extends WSDLExtension>
Iterable<T>
getExtensions(Class<T> type)
          Gets all the extensions that is assignable to the given type.
 Locator getLocation()
          Gets the source location information in the parsed WSDL.
 WSDLMessage getMessage()
          Gives the WSDLMessage corresponding to wsdl:input@message

This method should not be called before the entire WSDLModel is built.

 String getName()
          Gives the wsdl:portType/wsdl:operation/wsdl:input@name
 WSDLOperation getOperation()
          Gives the owning WSDLOperation
 QName getQName()
          Gives qualified name of the wsdl:input 'name' attribute value.
 boolean isDefaultAction()
          Checks if the Action value is implicitly derived using the rules defined in WS-Addressing.
 void setAction(String action)
           
 void setDefaultAction(boolean defaultAction)
           
 
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

extensions

protected final Set<WSDLExtension> extensions

notUnderstoodExtensions

protected List<com.sun.xml.ws.model.wsdl.AbstractExtensibleImpl.UnknownWSDLExtension> notUnderstoodExtensions
Constructor Detail

WSDLInputImpl

public WSDLInputImpl(XMLStreamReader xsr,
                     String name,
                     QName messageName,
                     WSDLOperationImpl operation)
Method Detail

getName

public String getName()
Description copied from interface: WSDLInput
Gives the wsdl:portType/wsdl:operation/wsdl:input@name

Specified by:
getName in interface WSDLInput

getMessage

public WSDLMessage getMessage()
Description copied from interface: WSDLInput
Gives the WSDLMessage corresponding to wsdl:input@message

This method should not be called before the entire WSDLModel is built. Basically after the WSDLModel is built all the references are resolve in a post processing phase. IOW, the WSDL extensions should not call this method.

Specified by:
getMessage in interface WSDLInput
Returns:
Always returns null when called from inside WSDL extensions.

getAction

public String getAction()
Description copied from interface: WSDLInput
Gives the Action Message Addressing Property value for WSDLInput message.

This method provides the correct value irrespective of whether the Action is explicitly specified in the WSDL or implicitly derived using the rules defined in WS-Addressing.

Specified by:
getAction in interface WSDLInput
Returns:
Action

getOperation

@NotNull
public WSDLOperation getOperation()
Description copied from interface: WSDLInput
Gives the owning WSDLOperation

Specified by:
getOperation in interface WSDLInput

getQName

public QName getQName()
Description copied from interface: WSDLInput
Gives qualified name of the wsdl:input 'name' attribute value. If there is no name, then it computes the name from: If the wsdl:operation is oneway: wsdl:operation@name value, which is local name of WSDLOperation.getName()

otherwise wsdl:operation@name+"Request", which is local name of WSDLOperation.getName() + "Request"

The namespace uri is determined from the enclosing wsdl:operation.

Specified by:
getQName in interface WSDLInput

setAction

public void setAction(String action)

isDefaultAction

public boolean isDefaultAction()
Description copied from interface: WSDLInput
Checks if the Action value is implicitly derived using the rules defined in WS-Addressing.

Specified by:
isDefaultAction in interface WSDLInput
Returns:
true if the Action value is implicitly derived using the rules defined in WS-Addressing.

setDefaultAction

public void setDefaultAction(boolean defaultAction)

getExtensions

public final 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> Iterable<T> getExtensions(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(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(QName extnEl,
                                      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 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 © 2005-2013 Oracle Corporation. All Rights Reserved.