Update of /cvsroot/commonjava/commonjava-projects/commonjava-reflection
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31612
Modified Files:
project.xml
Log Message:
updated the name of the project to be Reflective Utilities, and added a description element to the project.xml
Index: project.xml
===================================================================
RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-reflection/project.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- project.xml 18 Sep 2003 05:55:49 -0000 1.1
+++ project.xml 16 Feb 2004 07:01:47 -0000 1.2
@@ -3,7 +3,7 @@
<project>
<pomVersion>3</pomVersion>
<id>commonjava-reflection</id>
- <name>CommonJava Reflective Utilities</name>
+ <name>Reflective Utilities</name>
<groupId>commonjava</groupId>
<currentVersion>2.0</currentVersion>
<organization>
@@ -13,6 +13,23 @@
<inceptionYear>2002</inceptionYear>
<package>org.commonjava.reflection</package>
+ <description>
+ Reflective Utilities contains a very narrowly-scoped set of functions. In a nutshell, it provides
+ cache-enabled reflective method invocation and enhanced JAR-specification service discovery. The
+ cache-enabled method invocation basically just caches the Method objects once they are found, and
+ lookups for a method will also search superclasses and implemented interfaces for parameters, in
+ an ever-widening search. Enhanced JAR-specification service discovery enables searching the
+ META-INF/services classpath resource base for resources matching interface or abstract class names.
+ When found, these resources will be read to retrieve the implementation name(s). Once found, these
+ implementations can be instantiated via constructors using a particular parameter array (this is
+ where the use of abstract classes comes in handy; you can hint at constructor signatures), or they
+ can have getInstance(...) invoked on them, also using a particular parameter array. As a final note,
+ this service search provides methods to instantiate instances for each line in the resource. In this
+ way, you can retrieve an array of instantiated implementations for a given abstraction. The array
+ can then be used in some sort of aggregator implementation. Also, when searching for multiple
+ implementors, the single-implementation case will simply appear as an array of size one.
+ </description>
+
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
|