ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Ws Wiki] Trivial Update of "FrontPage/Woden/WSDLExtensionChanges" by JohnKaputin
Date Mon, 04 Feb 2008 23:02:21 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The following page has been changed by JohnKaputin:
http://wiki.apache.org/ws/FrontPage/Woden/WSDLExtensionChanges

------------------------------------------------------------------------------
  
  ''NOTE:'' Extension properties cannot be treated entirely generically. They can be accessed
in a generic way and ''wrapped'' as generic {{{ExtensionProperty}}} objects, but the caller
will still need to know what to do with the {{{java.lang.Object}}} returned by the {{{ExtensionProperty.getContent()}}}
method - what to cast it to or whether it implements a useful toString() method. Woden should
possibly provide some guidance here, like ''"extension implementors should define a suitable
{{{toString()}}} method for their extension properties, or for items in an extension property
based on a set."''. Then, client applications like GUI tools can at least display extension
property content without needing to know what type of object it is. As the Woden API convention
is to return typed-arrays for a ''set'' property, applications could just check for an Array
type, then call {{{toString()}}} on each element.
  
- 
+ === API change impact ===
+ Changes to the {{{WSDLComponent}}} API are:
+  * {{{ComponentExtensions getComponentExtensionsForNamespace(NSuri)}}} is replaced by {{{ComponentExtensionContext
getComponentExtensionContext(NSuri)}}}
+  * 
  
  === Overview of the new Component extensions model ===
  
@@ -43, +46 @@

  The {{{org.apache.woden.wsdl20}}} API package contains:
   * {{{WSDLComponent}}} - this now provides all WSDL component sub-types with generic {{{ExtensionProperty}}}
accessor methods (inherited from {{{PropertyExtensible}}}). It also provides access to {{{ComponentExtensionContext}}}
objects by extension namespace via the {{{getComponentExtensionContext(NSuri)}}} method. 
  
+ === Implementation Notes ===
+ 
+  * The implementation classes for the {{{ComponentExtensionContext}}} subtypes (like {{{SOAPBindingExtensionsImpl}}}
and {{{HTTPBindingFaultExtensionsImpl}}}) now extend {{{BaseComponentExtensionContext}}}.
User-defined extensions may subclass this too (it's in an API package for this purpose).
+  * In {{{WSDLComponentImpl}}}, the {{{PropertyExtensible}}} methods are implemented by forwarding
the calls to the appropriate {{{ComponentExtensionContext}}} object(s). 
+ 

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@ws.apache.org
For additional commands, e-mail: general-help@ws.apache.org


Mime
View raw message