Le 15 nov. 2010 à 17:27, Dominique Devienne a écrit :

> On Mon, Nov 15, 2010 at 10:09 AM,  <[email protected]> wrote:
>> +    public final static class OnMissingExtensionPoint {
> 
> I was actually thinking of
> org.apache.tools.ant.types.EnumeratedAttribute when I mentioned an
> enum, because from my recollection IntrospectionHelper was aware of
> it, but perhaps the valueOf() method you defined is a similar
> "protocol / convention" IH is aware of as well, and the derivation
> from EnumeratedAttribute is not necessary?

I saw that class EnumeratedAttribute, but it helps to define enums only from 
the IntrospectionHelper. When I started to use that class, the strings 
no-so-enum were still "leaked" through the Java API of the ProjectHelper.
So I implemented a class that behave like the Java 5 enums, where there is no 
possibility at compile time to have any other value than the predefined ones. 
Then on the IntrospectionHelper side, it still see a simple string. So the code 
that checks the values is still in the implementation of the target (well 
actually delegated with some error rethrowing).

But maybe I should continue, make an EnumeratedAttribute which make the bridge 
with the enum like class OnMissingExtensionPoint. But it won't save much code.

I got an idea. What about creating an interface Enum which will be a marker for 
classes which are expected to have a valueOf static method (like for every enum 
in java 5), and have IntrospectionHelper support that ? I think that it could 
be done easily in IntrospectionHelper#getEnumSetter .
WDYT ?

Nicolas


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to