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

java.lang.Object
  extended by com.sun.xml.ws.model.wsdl.WSDLServiceImpl
All Implemented Interfaces:
EditableWSDLService, WSDLExtensible, WSDLObject, WSDLService

public final class WSDLServiceImpl
extends java.lang.Object
implements EditableWSDLService

Implementation of WSDLService


Nested Class Summary
protected static class AbstractExtensibleImpl.UnknownWSDLExtension
           
 
Field Summary
protected  java.util.Set<WSDLExtension> extensions
           
protected  java.util.List<AbstractExtensibleImpl.UnknownWSDLExtension> notUnderstoodExtensions
           
 
Constructor Summary
WSDLServiceImpl(javax.xml.stream.XMLStreamReader xsr, EditableWSDLModel parent, javax.xml.namespace.QName name)
           
 
Method Summary
 void addExtension(WSDLExtension ex)
          Adds a new WSDLExtension to this object.
 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 freeze(EditableWSDLModel root)
          Freezes WSDL model to prevent further modification
 EditableWSDLPort get(javax.xml.namespace.QName portName)
          Gets the WSDLPort for a given port name
<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.
 EditableWSDLPort getFirstPort()
          Gets the first WSDLPort if any, or otherwise null.
 org.xml.sax.Locator getLocation()
          Gets the source location information in the parsed WSDL.
 EditableWSDLPort getMatchingPort(javax.xml.namespace.QName portTypeName)
          gets the first port in this service which matches the portType
 javax.xml.namespace.QName getName()
          Gets the name of the wsdl:service@name attribute value as local name and wsdl:definitions@targetNamespace as the namespace uri.
 java.util.List<? extends AbstractExtensibleImpl.UnknownWSDLExtension> getNotUnderstoodExtensions()
          Lists extensions marked as not understood
 EditableWSDLModel getParent()
          Gets the WSDLModel that owns this service.
 java.lang.Iterable<EditableWSDLPort> getPorts()
          Gives all the WSDLPort in a wsdl:service WSDLService
 void put(javax.xml.namespace.QName portName, EditableWSDLPort port)
          Populates the Map that holds port name as key and WSDLPort as the value.
 
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 java.util.Set<WSDLExtension> extensions

notUnderstoodExtensions

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

WSDLServiceImpl

public WSDLServiceImpl(javax.xml.stream.XMLStreamReader xsr,
                       EditableWSDLModel parent,
                       javax.xml.namespace.QName name)
Method Detail

getParent

@NotNull
public EditableWSDLModel getParent()
Description copied from interface: WSDLService
Gets the WSDLModel that owns this service.

Specified by:
getParent in interface EditableWSDLService
Specified by:
getParent in interface WSDLService

getName

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

Specified by:
getName in interface WSDLService

get

public EditableWSDLPort get(javax.xml.namespace.QName portName)
Description copied from interface: WSDLService
Gets the WSDLPort for a given port name

Specified by:
get in interface EditableWSDLService
Specified by:
get in interface WSDLService
Parameters:
portName - non-null operationName
Returns:
null if a WSDLPort is not found

getFirstPort

public EditableWSDLPort getFirstPort()
Description copied from interface: WSDLService
Gets the first WSDLPort if any, or otherwise null.

Specified by:
getFirstPort in interface EditableWSDLService
Specified by:
getFirstPort in interface WSDLService

getPorts

public java.lang.Iterable<EditableWSDLPort> getPorts()
Description copied from interface: WSDLService
Gives all the WSDLPort in a wsdl:service WSDLService

Specified by:
getPorts in interface EditableWSDLService
Specified by:
getPorts in interface WSDLService

getMatchingPort

@Nullable
public EditableWSDLPort getMatchingPort(javax.xml.namespace.QName portTypeName)
gets the first port in this service which matches the portType

Specified by:
getMatchingPort in interface EditableWSDLService
Specified by:
getMatchingPort in interface WSDLService

put

public void put(javax.xml.namespace.QName portName,
                EditableWSDLPort port)
Populates the Map that holds port name as key and WSDLPort as the value.

Specified by:
put in interface EditableWSDLService
Parameters:
portName - Must be non-null
port - Must be non-null
Throws:
java.lang.NullPointerException - if either opName or ptOp is null

freeze

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

Specified by:
freeze in interface EditableWSDLService
Parameters:
root - WSDL Model

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.

getNotUnderstoodExtensions

public java.util.List<? extends 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(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

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 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.