You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Juozas Baliuka <ba...@mwm.lt> on 2002/06/26 13:31:18 UTC

Re: [Pattern] Sandbox proposal, affects [Collections][Util] [was: Re: Core architecture [was: Commons architecture]]


Utils can use Comparator interface for something like 
"Utils.bubleSort(array,comparator)"
  and user can use implementation from any project or implement it himself.
  I don't think Collections or Utils needs to play with trivial "Callback" 
interface implementation
   if it is not  used for some internal functionality .

At 11:40 2002.06.26 +0100, you wrote:
>-1
>
>I agree with Morgan. Can't we just leave the Comparators in Collections and
>make Utils dependent on Collections?
>
>James
>----- Original Message -----
>From: "Morgan Delagrange" <md...@yahoo.com>
>To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>;
><ni...@apache.org>
>Sent: Tuesday, June 25, 2002 10:46 PM
>Subject: Re: [Pattern] Sandbox proposal, affects [Collections][Util] [was:
>Re: Core architecture [was: Commons architecture]]
>
>
> > -1 on moving the comparators package out of
> > Collections.  It clearly falls in that domain; that's
> > where users would expect to find them.  Also, all of
> > those comparators are released classes.
> >
> > Actually I'm suspicious of a "pattern" package.  It
> > seems way, way too broad:
> >
> >    "The standard Java libraries provides for
> >     some very common design patterns -
> >     Comparator/Comparable, EventListener,
> >     Observer/Observable, Cloneable and Runnable
> >     However, other generic pattern concepts are
> >     not supported. The <em>Pattern</em>
> >     Package provides these extra pattern
> >     interfaces. It also provides reference
> >     implementations and utilities for the
> >     additional interfaces and those
> >     interfaces in Java."
> >
> > "[G]eneric pattern concepts" sounds like a recipe for
> > hodge-podge.  If you want to try out patterns, which
> > could be interesting, you definitely want smaller more
> > focused packages (e.g. a package devoted to XML
> > patterns).
> >
> > - Morgan
> >
> > --- Stephen Colebourne <sc...@btopenworld.com>
> > wrote:
> > > Please find attached a proposal for a new sandbox
> > > component. This impacts
> > > both Collections and Util through refactoring.
> > >
> > > Background:
> > > Discussions on the architecture of sandbox
> > > components have indicated that
> > > collecting together generic patterns such as
> > > factory, comparator and
> > > transformation code in one place would be useful.
> > > However, no current
> > > sandbox component is willing to take on the role.
> > >
> > > Affects on Collections:
> > > The comparator package, Predicate, PredicateUtils
> > > (not the collections),
> > > Transform, Closure, SimpleObjectFactory and
> > > FactoryUtils classes would be
> > > copied to Pattern. Ideally, the classes will be
> > > deprecated for later removal
> > > **.
> > >
> > > The principal issue for Collections is that Pattern
> > > will be a new component,
> > > untested and in the sandbox. The aim of Pattern must
> > > therefore be to proceed
> > > to a stable 1.0 commons release ASAP, and preferably
> > > before the next
> > > collections release.
> > >
> > > The principal advantages for Collections are that it
> > > can focus on
> > > collections rather than on patterns, and that a
> > > wider range of Prdeicates,
> > > Transforms, Comparators and Factories will be
> > > available because they will
> > > have their own focus.
> > >
> > > Affects on Util:
> > > The comparator classes currently in Util would be
> > > copied to Pattern.
> > > Ideally, the originals in Util would be removed.
> > > This should cause no issues
> > > as Util is a sandbox component.
> > >
> > > My understanding is that I can start a sandbox
> > > component without a vote or
> > > discussion, but it seemed better to be clear on this
> > > occasion ;-)
> > >
> > > Stephen
> > >
> > > ** Changes dependent on Pattern reaching 1.0 before
> > > Collections' next
> > > release
> > > Predicate, Transform and Closure in Collections
> > > extend their replacements in
> > > Pattern and be deprecated in Collections.
> > > The comparators in collections are deprecated.
> > > PredicateUtils, SimpleObjectFactory, FactoryUtils
> > > and some Comparators
> > > haven't been released yet, so could be removed.
> > >
> > >
> > >
> > > From: Nicola Ken
> > > > What you propose then are generic patterns, and I
> > > would assume that
> > > > Identifiable is part of them, since it's a common
> > > concern that crosses
> > > > aspects.
> > > >
> > > > I think that there is much more value in these
> > > than possible problems,
> > > > really *much* more, so you have my +1 for them.
> > > >
> > > > Which means I will help :-)
> > >
> > > Nicola Ken, I've included you as an initial
> > > committer.
> > >
> > > > <html>
> > > <head>
> > > <title>Proposal for Pattern Package</title>
> > > </head>
> > > <body bgcolor="white">
> > >
> > > <div align="center">
> > > <h1>Proposal for <em>Pattern</em> Package</h1>
> > > </div>
> > >
> > > <h3>(0) Rationale</h3>
> > >
> > > <p>The standard Java libraries provides for some
> > > very common design
> > > patterns - Comparator/Comparable, EventListener,
> > > Observer/Observable, Cloneable and Runnable
> > > However, other generic pattern concepts are not
> > > supported. The <em>Pattern</em>
> > > Package provides these extra pattern interfaces. It
> > > also provides reference
> > > implementations and utilities for the additional
> > > interfaces and those interfaces in Java.</p>
> > >
> > >
> > > <h3>(1) Scope of the Package</h3>
> > >
> > > <p>This proposal is to create a package to support
> > > low level pattern interfaces.
> > > To be included an interface must be simple, have
> > > wide potential applicability,
> > > and not require a framework.</p>
> > >
> > > <p>This package also includes utility/reference
> > > implementation classes for the pattern
> > > interfaces and those pattern classes in java.lang
> > > and java.util.</p>
> > >
> > >
> > > <h3>(1.5) Interaction With Other Packages</h3>
> > >
> > > <p><em>Pattern</em> relies only on standard JDK 1.2
> > > (or later) APIs for
> > > production deployment.  It utilizes the JUnit unit
> > > testing framework for
> > > developing and executing unit tests, but this is of
> > > interest only to
> > > developers of the component.  Patterns will be a
> > > dependency for
> > > several existing components in the open source
> > > world.</p>
> > >
> > > <p>No external configuration files are utilized.</p>
> > >
> > >
> > > <h3>(2) Initial Source of the Package</h3>
> > >
> > > <p>Some initial classes came from the
> > > Commons.Collections and Commons.Util
> > > subprojects.</p>
> > >
> > > <p>The proposed package names for the new component
> > > are
> > > <code>org.apache.commons.pattern.xxx</code> where
> > > xxx is the pattern interface name,
> > > such as
> > >
> > <code>org.apache.commons.pattern.comparator</code>.</p>
> > >
> > >
> > > <h3>(3)  Required Jakarta-Commons Resources</h3>
> > >
> > > <ul>
> > > <li>CVS Repository - New directory
> > > <code>pattern</code> in the
> > >     <code>jakarta-commons</code> CVS
> > > repository.</li>
> > > <li>Mailing List - Discussions will take place on
> > > the general
> > >     <em>commons-dev@jakarta.apache.org</em> mailing
> > > list.  To help
> > >     list subscribers identify messages of interest,
> > > it is suggested that
> > >     the message subject of messages about this
> > > component be prefixed with
> > >     [Patterns].</li>
> > > <li>Bugzilla - New component "Pattern" under the
> > > "Commons" product
> > >     category, with appropriate version identifiers
> > > as needed.</li>
> > > <li>Jyve FAQ - New category "commons-pattern" (when
> > > available).</li>
> > > </ul>
> > >
> > >
> > > <h3>(4) Initial Committers</h3>
> > >
> > > <p>The initial committers on the Lang component
> > > shall be as follows:
> > > <ul>
> > > <li>Stephen Colebourne (scolebourne)</li>
> > > <li>Nicola Ken Barozzi (nicolaken)</li>
> > > <!-- Add your real name and user name here -->
> > > </ul>
> > > </p>
> > >
> > > </body>
> > > </html>
> > >
> > > > --
> > > To unsubscribe, e-mail:
> > > <ma...@jakarta.apache.org>
> > > For additional commands, e-mail:
> > <ma...@jakarta.apache.org>
> >
> >
> > =====
> > Morgan Delagrange
> > http://jakarta.apache.org/taglibs
> > http://jakarta.apache.org/commons
> > http://axion.tigris.org
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! - Official partner of 2002 FIFA World Cup
> > http://fifaworldcup.yahoo.com
> >
> > --
> > To unsubscribe, e-mail:
><ma...@jakarta.apache.org>
> > For additional commands, e-mail:
><ma...@jakarta.apache.org>
> >
>
>
>_________________________________________________________
>Do You Yahoo!?
>Get your free @yahoo.com address at http://mail.yahoo.com
>
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>