commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Goers <ralph.go...@dslextreme.com>
Subject Re: [DISCUSS] codebase looking for a place to be contributed to commons
Date Fri, 10 Jun 2011 05:19:33 GMT

On Jun 9, 2011, at 1:29 PM, Simone Tripodi wrote:

> Hi all guys,
> before start working on Digester3 I experimented on GitHub, taking
> inspiration from Google Guice APIs, embedded EDSLs in configuration
> classess to solve 2 different kind of problems:
> 
> * ClassPath scanning[1]: declare with fluent APIs a class path
> scanner, filering classes users are interested in via fluent logic
> language, and declaring actions have to be performed, once interested
> classes have found. We already discussed about that idea time ago, but
> it has been improved;
> 
> * Class scanning[2]: Java users often create framework/libraries
> based on Java5 MetaData Annotations interpreted at runtime, the
> pattern they usually have to apply is: given a class, visiting all the
> class inheritance hierarchy, and getting fields/constructors/methods
> for each class; once found an (AnnotatedElement, Annotation) pair,
> they have to perform an action.
> So, the implemented classes aim to reduce the boilerplate and
> redundant code simply by declaring actions that have to be performed
> once the pairs  (AnnotatedElement, Annotation) are found.
> 

I accomplished this in the work I've been doing on Log4J 2.0 by borrowing on some code I found
somewhere else at Apache. You can see it at https://svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/ResolverUtil.java.
It is used by https://svn.apache.org/repos/asf/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginManager.java.

Of course, I have no idea if these bear any relationship to what you have done.

Ralph


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