Return-Path: Delivered-To: apmail-hivemind-commits-archive@www.apache.org Received: (qmail 1465 invoked from network); 9 Aug 2006 07:08:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 Aug 2006 07:08:14 -0000 Received: (qmail 83362 invoked by uid 500); 9 Aug 2006 07:08:14 -0000 Delivered-To: apmail-hivemind-commits-archive@hivemind.apache.org Received: (qmail 83348 invoked by uid 500); 9 Aug 2006 07:08:14 -0000 Mailing-List: contact commits-help@hivemind.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hivemind.apache.org Delivered-To: mailing list commits@hivemind.apache.org Received: (qmail 83339 invoked by uid 500); 9 Aug 2006 07:08:14 -0000 Delivered-To: apmail-jakarta-hivemind-cvs@jakarta.apache.org Received: (qmail 83334 invoked by uid 99); 9 Aug 2006 07:08:14 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Aug 2006 00:08:14 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Aug 2006 00:08:13 -0700 Received: from ajax.apache.org (localhost [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id 7F345D495A for ; Wed, 9 Aug 2006 08:07:52 +0100 (BST) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki To: hivemind-cvs@jakarta.apache.org Date: Wed, 09 Aug 2006 07:07:52 -0000 Message-ID: <20060809070752.2126.89269@ajax.apache.org> Subject: [Jakarta-hivemind Wiki] Update of "DescriptorApiRevampProposal" by KnutWannheden X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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. allowed inside ) 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); } }}}