hivemind-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jakarta-hivemind Wiki] Update of "DescriptorApiRevampProposal" by KnutWannheden
Date Wed, 09 Aug 2006 07:07:52 GMT
Dear Wiki user,

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

The following page has been changed by KnutWannheden:
http://wiki.apache.org/jakarta-hivemind/DescriptorApiRevampProposal

------------------------------------------------------------------------------
  
  = Proposed Solution =
  
- The approach of the proposed solution is to move to a more abstract '''Descriptor API'''
and factor the XML specifics into an XML implementation (based on this API).  Apart from the
XML shorthand notations reflected in the current API it is primarily the ''schema processing''
which I consider as XML specific.  Factoring that out will in turn also affect parts of the
'''Runtime API''' and implementation.
+ The approach of the proposed solution is to move to a more abstract '''Descriptor API'''
and factor the XML specifics into an XML implementation (based on this API).  IMO the following
features are XML specific:
+  * shorthand notations (e.g. <invoke-factory> allowed inside <service-point>)
reflected in the current API
+  * the ''schema processing'' converting XML elements to POJOs (this also includes ${} symbol
resolution)
+  * sub-modules -- these are really just normal modules
+  * conditional contribution expressions
+  * service implementation and interceptor factories
+ 
+ Factoring these out will in turn also affect parts of the '''Runtime API''' and implementation.
  
  == Descriptor API ==
- Here is an overview of the proposed Descriptor API (package {{{org.apache.hivemind.descriptor}}}).
+ Here is an overview of the proposed Descriptor API (package {{{org.apache.hivemind.def}}}).
+ 
+ attachment:module-def.gif
+ 
+ And the corresponding interfaces in Java:
  
  {{{
  public interface ModuleDef
@@ -46, +57 @@

  public interface ExtensionDef
  {
      public ModuleDef getModule();
-     public String getExtensionPointId();
+     public String getExtensionPointMatchPattern();
      public boolean isApplicable(DefContext context);
  }
  }}}
@@ -69, +80 @@

  public interface ImplementationDef extends ExtensionDef
  {
      public String getServiceModel();
+     public int getPriority();
      public ImplementationConstructor getConstructor(DefContext context);
  }
  }}}

Mime
View raw message