Return-Path: Delivered-To: apmail-incubator-geronimo-dev-archive@www.apache.org Received: (qmail 68859 invoked from network); 15 Sep 2003 04:25:57 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 15 Sep 2003 04:25:57 -0000 Received: (qmail 69483 invoked by uid 500); 15 Sep 2003 04:25:30 -0000 Delivered-To: apmail-incubator-geronimo-dev-archive@incubator.apache.org Received: (qmail 69315 invoked by uid 500); 15 Sep 2003 04:25:29 -0000 Mailing-List: contact geronimo-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: geronimo-dev@incubator.apache.org Delivered-To: mailing list geronimo-dev@incubator.apache.org Received: (qmail 69302 invoked from network); 15 Sep 2003 04:25:28 -0000 Received: from unknown (HELO main.gmane.org) (80.91.224.249) by daedalus.apache.org with SMTP; 15 Sep 2003 04:25:28 -0000 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 19ykvX-0006YL-00 for ; Mon, 15 Sep 2003 06:25:27 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: geronimo-dev@incubator.apache.org Received: from sea.gmane.org ([80.91.224.252]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19ykvW-0006YD-00 for ; Mon, 15 Sep 2003 06:25:26 +0200 Received: from news by sea.gmane.org with local (Exim 3.35 #1 (Debian)) id 19ykvh-0004hA-00 for ; Mon, 15 Sep 2003 06:25:37 +0200 From: Greg Wilkins Subject: Re: [jsr77][core] Components & Containers. Date: Mon, 15 Sep 2003 14:25:16 +1000 Lines: 47 Message-ID: <3F653F2C.3030206@mortbay.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org Cc: "gianny DAMOUR" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030827 Debian/1.4-3 X-Accept-Language: en In-Reply-To: Sender: news X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Greg Wilkins wrote: > ... > But, hopefully most of it can be solved with some renaming and/or > a minor restructure. > ... Actually reading Giany's issues (14 & 73), I think we need a bit more of a rename/restructure. It does appear that our current AbstractComponent and AbstractContainer really should be ManagedObjects and it is simple to make them implement the ManagedObject interface. Also instead of renaming them to StateManageableComponent & StateManageableContainer (as per my previous email) I think it makes more sense to rename them to ManagedComponent and ManagedContainer However, they should probably extend AbstractManagedObject - which currently duplicates much of the content of AbstractStateManageable. Thus I think AbstractStateManageable should be moved to kernel and used as the base for AbstracteManagedObject. Thus we would end up with the following hierarchy: kernel: <> ^ | AbstractStateManageable ^ | AbstractManagedObject ^ core: | <> <--- AbstractComponent <--- ManagedComponent ^ ^ ^ | | | <> <--- AbstractContainer -----o ManagedContainer ^ / \ / ----------------------------------