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

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

public final class WSDLInputImpl
extends Object
implements EditableWSDLInput

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, EditableWSDLOperation 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
 void freeze(EditableWSDLModel parent)
          Freezes WSDL model to prevent further modification
 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.
 EditableWSDLMessage 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
 List<? extends com.sun.xml.ws.model.wsdl.AbstractExtensibleImpl.UnknownWSDLExtension> getNotUnderstoodExtensions()
          Lists extensions marked as not understood
 EditableWSDLOperation 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)
          Sets action
 void setDefaultAction(boolean defaultAction)
          Set to true if this is the default action
 
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, addNotUnderstoodExtension, areRequiredExtensionsUnderstood, getExtension, getExtensions, getExtensions, getNotUnderstoodExtensions
 
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,
                     EditableWSDLOperation 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 EditableWSDLMessage 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 EditableWSDLInput
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 EditableWSDLOperation getOperation()
Description copied from interface: WSDLInput
Gives the owning WSDLOperation

Specified by:
getOperation in interface EditableWSDLInput
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)
Description copied from interface: EditableWSDLInput
Sets action

Specified by:
setAction in interface EditableWSDLInput
Parameters:
action - 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)
Description copied from interface: EditableWSDLInput
Set to true if this is the default action

Specified by:
setDefaultAction in interface EditableWSDLInput
Parameters:
defaultAction - True, if default action

freeze

public void freeze(EditableWSDLModel parent)
Description copied from interface: EditableWSDLInput
Freezes WSDL model to prevent further modification

Specified by:
freeze in interface EditableWSDLInput
Parameters:
parent - WSDL Model

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.

getNotUnderstoodExtensions

public List<? extends com.sun.xml.ws.model.wsdl.AbstractExtensibleImpl.UnknownWSDLExtension> getNotUnderstoodExtensions()
Description copied from interface: WSDLExtensible
Lists extensions marked as not understood

Specified by:
getNotUnderstoodExtensions in interface WSDLExtensible
Returns:
List of not understood extensions

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

Specified by:
addNotUnderstoodExtension in interface WSDLExtensible
Parameters:
extnEl -
locator -

areRequiredExtensionsUnderstood

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

Specified by:
areRequiredExtensionsUnderstood in interface WSDLExtensible
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-2015 Oracle Corporation. All Rights Reserved.