commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicola Ken Barozzi <>
Subject Re: [Pattern] Sandbox proposal, affects [Collections][Util] [was: Re: Core architecture [was: Commons architecture]]
Date Wed, 26 Jun 2002 07:33:14 GMT
Stephen, just commit it and let's start workin on it.
No vote is necessary now, and also no deprecation.

Let's just give it a shot, move there stiff that has not yet been 
released (ie pure sandbox).

If/when it's done, we'll see if there is really value in it.

Discussions get forgotten, just code remains...

Stephen Colebourne 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
>>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
> 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
> 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></code> where xxx is the pattern interface
> 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></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>

Nicola Ken Barozzi         
             - verba volant, scripta manent -
    (discussions get forgotten, just code remains)

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message