Return-Path: Delivered-To: apmail-hivemind-dev-archive@www.apache.org Received: (qmail 6664 invoked from network); 7 Nov 2006 14:50:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Nov 2006 14:50:08 -0000 Received: (qmail 55618 invoked by uid 500); 7 Nov 2006 14:50:19 -0000 Delivered-To: apmail-hivemind-dev-archive@hivemind.apache.org Received: (qmail 55611 invoked by uid 500); 7 Nov 2006 14:50:19 -0000 Mailing-List: contact dev-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 dev@hivemind.apache.org Received: (qmail 55601 invoked by uid 99); 7 Nov 2006 14:50:19 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Nov 2006 06:50:18 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of jwcarman@gmail.com designates 66.249.82.233 as permitted sender) Received: from [66.249.82.233] (HELO wx-out-0506.google.com) (66.249.82.233) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Nov 2006 06:50:05 -0800 Received: by wx-out-0506.google.com with SMTP id i29so1343210wxd for ; Tue, 07 Nov 2006 06:49:44 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=T3zm2kmtwSSNYzq/UQoY8G4jAh4Gs79DH0ToJh9ZqHpK4PL+IrdCKtqFOYerEeonq0LPQYaG2+6+VWnidgrdI5hvLxc2yQsct47KJj6U4VcNooQPJ3zQoy/TPOxnbWcoh+gR1+UUTl3FIMhHSlyNIsH5M0vRtLZ5YfgmwQshAeA= Received: by 10.90.49.19 with SMTP id w19mr2107327agw.1162910984487; Tue, 07 Nov 2006 06:49:44 -0800 (PST) Received: by 10.65.214.5 with HTTP; Tue, 7 Nov 2006 06:49:44 -0800 (PST) Message-ID: Date: Tue, 7 Nov 2006 09:49:44 -0500 From: "James Carman" Sender: jwcarman@gmail.com To: dev@hivemind.apache.org Subject: Re: Changes in 2.0 branch In-Reply-To: <455095FD.1010809@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <455095FD.1010809@gmx.de> X-Google-Sender-Auth: c38e6f86dcb22a33 X-Virus-Checked: Checked by ClamAV on apache.org Well, how about this for the configuration/contribution stuff? We introduce the concept of a ContributionTransformer (to borrow a term from commons collections): public interface ContributionTransformer { public Object transform( List contributions ); } Each configuration point can have a ContributionTransformer assigned to it. It uses this to transform its contributed objects into the desired type. The default one would just return the list of original objects, but you can assign your own like this: ... We could provide a couple of useful helper classes like SingleContributionTransformer which merely returns the first item in the list. Also, we could do a MappedContributionTransformer which transforms a list of MappedContribution objects (name/value pair essentially) into a HashMap (or you can specify another Map subclass if you like). This would allow us to support single-value configurations easier, because they wouldn't have a "container class." On 11/7/06, Achim H=FCgen wrote: > Hi, > > I've finished a short overview of the changes in the annotation branch: > > http://wiki.apache.org/jakarta-hivemind/NewAndNoteworthyFeaturesInAnnotat= ionBranch > > Have fun > Achim > >