Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 74616 invoked from network); 25 Apr 2002 02:51:27 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 25 Apr 2002 02:51:27 -0000 Received: (qmail 6720 invoked by uid 97); 25 Apr 2002 02:51:22 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 6644 invoked by uid 97); 25 Apr 2002 02:51:21 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 6520 invoked from network); 25 Apr 2002 02:51:21 -0000 Content-Type: text/plain; charset="iso-8859-1" From: Peter Donald To: "Ant Developers List" Subject: Re: cvs commit: jakarta-ant-myrmidon/framework/src/java/org/apache/myrmidon/framework/filters LineFilter.java TokenSet.java Date: Thu, 25 Apr 2002 12:48:54 +1000 X-Mailer: KMail [version 1.4] References: <20020424022101.17099.qmail@icarus.apache.org> <200204241346.50639.peter@apache.org> <200204241531.59138.adammurdoch@apache.org> In-Reply-To: <200204241531.59138.adammurdoch@apache.org> X-Wisdom: A right is not what someone gives you; it's what no one can take from you. MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-Id: <200204251248.54695.peter@apache.org> X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N On Wed, 24 Apr 2002 15:31, Adam Murdoch wrote: > > > > Combine role short and long names, so that a role has one name > > > > only: > > > > Dont throw away the long names. If you are going to remove one versio= n of > > the names then remove the short version as that s only a logical name > > while the Role name coresponds to interface classname. > > Yes, but using the classname becomes meaningless when the roles are spr= ead > across different classloaders, and becomes unworkable when multiple > versions of the same role class need to be referred to (e.g. when multi= ple > versions of an antlib are being used, or when multiple versions of the > container api are being used). =20 Currently there can not be multiple roles with same classname but differe= nt=20 classdata and I can't honestly see where it would be viable. Java is not=20 designed to work that way and I can't remember where versioning of single= =20 interface has ever worked except in big application servers. Currently the ClassLoader issues are far from being solved and until we g= o=20 there I don't see any need to burden the rest of the system with=20 complexitites until we know we are going to use it. Given that the classname is not meaningless - it accurately describes exa= ctly=20 what the role is ;) > The other case where the classname > convention isn't > particularly useful, is where the role is untyped, and has no associate= d > interface (as data-type might end up, say). I would be opposed to untyped roles but you knew I would say that :) > Given these things, the long name is also just a logical name for the r= ole. > At the end of the day, the long and short names both have the same > semantics - each is simply a unique logical name for the role. The lon= ger > ones mean less chance of name collision, the shorter ones are easier fo= r > humans to use. And neither of them really solve the problem. Hence goi= ng > with the shortname, and .. The longer ones map to physical representations. It is easy to verify if = a=20 component actually implements service by checking the interfaces implemen= ted=20 by component and see if one of them has same name as role (minus any=20 decoration if necessary). > > The only purpose of the shortname is to make writing deployment > > descriptors easier. It should not be used in our code at IMHO. > > There's also anywhere that a human needs to refer to a role. Right now= , > there's and type=3D"roleshorthand" ... >, but there's no reason we won't be adding = more > places. Right - which is exactly why short names were put in ;) > > > In the meantime, using a single name for a role makes dealing > > > with roles heaps simpler. > > > > I disagree but as long as you put the long names back in there I can = live > > with it ;) > > You don't agree that using a single name is simpler than using 2 differ= ent > names? (don't forget that the 2 names are not interchangable - you have= to > remember which one you can use where, and know how to map short -> long= and > vice versa). Basically ;) In the code you talk the classname which can easily map to t= he=20 physical representation of role (ie the interface). In the UI you use the= =20 short name as the classname is too much of a PITA for users to use.=20 If you are a user you need not know about physical name or suffer through= =20 ClassLoader hell. If you are a develoepr you need not know the logical na= me. --=20 Cheers, Peter Donald -- To unsubscribe, e-mail: For additional commands, e-mail: