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

The comment on the change is:
added Solution Summary

------------------------------------------------------------------------------
  The only way that Woden's client applications can access extension properties 
is via these statically-defined, compile-time extension property APIs declared 
by the {{{ComponentExtensions}}} subtypes. Some applications need a more 
flexible approach that provides a more ''generic'' API for accessing extension 
properties, without requiring detailed knowledge of each 
{{{ComponentExtensions}}} subtype API. For example, WSDL editors or GUI tools 
should be able to display any WSDL, including it's extensions, without 
predefined knowledge of all possible extension-types and their specific APIs. 
They need to be able to retrieve these properties as ''generic'' extension 
properties, via a common programming model. 
  
  === Summary of the Solution ===
+ A new type {{{ExtensionProperty}}} has been introduced which provides a 
generic representation of an extension property (name, namespace and content as 
a java.lang.Object). {{{ExtensionProperty}}} accessor methods have been 
declared in a new type {{{PropertyExtensible}}}, for retrieving  extension 
properties. {{{WSDLComponent}}} now extends {{{PropertyExtensible}}}. 
  
+ The {{{ComponentExtensions}}} interface has been renamed to 
{{{ComponentExtensionContext}}} to better reflect its role as an ''accessor'' 
for retrieving extensions in a particular context (that is, for a component and 
an extension namespace) and to avoid giving the impression that it ''is'' the 
collection of extension properties for that component and namespace.  
Furthermore, to avoid API confusion with new {{{PropertyExtensible}}} methods 
like {{{getExtensionProperties}}}, the {{{WSDLComponent}}} method 
{{{getComponentExtensionsForNamespace(NSuri)}}} has been renamed to 
{{{getComponentExtensionContext(NSuri)}}} (and that now returns a 
{{{ComponentExtensionContext}}}).
+ 
+ The {{{ExtensionRegistry}}} methods that handled the 
{{{ComponentExtensions}}} type have been changed to use 
{{{ComponentExtensionContext}}} instead. These are the 
{{{registerComponentExtension}}} and {{{createComponentExtension}}} methods.
+ 
- == Overview of the new Component extensions model ===
+ === Overview of the new Component extensions model ===
  
  The following UML class diagram and the notes that follow it provide an 
overview of the new Component extensions model: 
  http://people.apache.org/~jkaputin/woden47/Extensions1.jpg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to