You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by James Carman <ja...@carmanconsulting.com> on 2005/08/22 04:30:12 UTC
[PROPOSAL] Commons Proxy
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
RE: [PROPOSAL] Commons Proxy
Posted by James Carman <ja...@carmanconsulting.com>.
So, what's the procedure here? I haven't heard anything back on this
proposal from anyone? Do I have to in order for this code to remain in the
sandbox?
-----Original Message-----
From: James Carman [mailto:james@carmanconsulting.com]
Sent: Sunday, August 21, 2005 10:30 PM
To: 'Jakarta Commons Developers List'
Subject: [PROPOSAL] Commons Proxy
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
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org