commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Carman" <ja...@carmanconsulting.com>
Subject [PROPOSAL] Commons Proxy
Date Mon, 22 Aug 2005 02:30:12 GMT
Proposal for Commons Proxy

 

(0) rationale

 

Many projects require the use of proxies in order to support such features
as method interception/decoration, lazy

loading, dependency injection, etc.  There are many different techniques for
creating proxy objects which delegate to

other objects (JDK proxies, CGLIB, and Javassist to name a few).  Using
these technologies can prove to be quite

daunting.

 

(1) scope of the package

 

The package shall create and maintain a suite of utility classes for
creating proxy objects written in the Java language

to be distributed under the ASF license.  The package will include many
different "object provider" implementations.

The package will also serve as a repository for many useful
MethodInterceptor (AOP Alliance API) implementations.  The

package will provide multiple "proxy factory" implementations, supporting
different proxying technologies (JDK proxies,

CGLIB, Javassist).

 

(1.5) interaction with other packages

 

The package relies on some JDK5-specific features, such as generics and
read/write locks (java.util.concurrent.locks

package).  It utilizes the JUnit unit testing framework for developing and
executing unit tests, but this is of interest

only to developers of the component.  The original will include support for
the Hessian and Burlap remoting protocols.

The original codebase will also include support for CGLIB and Javassist-base
proxies.  Method interception will be done

using the AOP Alliance API.

 

(2) identify the initial source for the package

 

The initial codebase will be contributed by James Carman based on code in
the Syringe (http://syringe.dev.java.net)

project and can be distributed under the Apache license.

 

(2.1) identify the base name for the package

 

org.apache.commons.proxy

 

(2.2) identify the coding conventions for this package

 

The code uses the conventions from the Jakarta Turbine package.

 

(3) identify any Jakarta-Commons resources to be created

 

(3.1) mailing list

 

Discussions will take place on the general commons-dev@jakarta.apache.org
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 "[proxy]".

 

(3.2) SVN repositories

 

A new directory "proxy" will be needed in the jakarta-commons SVN
repository.

 

(3.3) Bugzilla

 

A new component "proxy" under the "Commons" product category, with
appropriate version

identifiers as needed.

 

(4) identify the initial set of committers to be listed in the Status File.

 

James Carman


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message