Got that already by private mail. All right, let's modify the example. 
Returning a fixed string was oversimplifying.


    public enum Status {
        one { @Override public DateTime computeValue() { new 
DateTime().plusDays( 1 ); },
        two { @Override public DateTime computeValue() { new 
DateTime().plusDays( 2 ); };
        public abstract DateTime computeValue();
    }


Maik


Am 07.06.2013 um 12:27 schrieb D Tim Cummings <[email protected]>:

> Another workaround which is less ugly.
> 
> public enum Status {
>   one ("eins"),
>   two ("zwei");
>   private final String description;
>   Status(String description) {
>     this.description = description;
>   }
>   public String description() {
>     return description;
>   }
> }
> 
> Tim
> 
> 
> On 07/06/2013, at 5:58 PM, Musall Maik wrote:
> 
>> Hi,
>> 
>> some time ago, I discovered the following problem with Enums and WO bindings 
>> (broken down to a simple example):
>> 
>>    package com.foo.bar;
>>    public class MyClass {
>>        public static enum Status {
>>            one    { @Override public String description() { return "eins"; } 
>> },
>>            two    { @Override public String description() { return "zwei"; } 
>> };
>>            public abstract String description();
>>        }
>>    }
>> 
>> While this works nicely in all Java code, WO bindings will not see the 
>> overridden description() implementations. At least not when using Java 
>> packages (it seems to work if everything is in the default package, but that 
>> doesn't help me). You get an error like:
>> 
>>    java.lang.IllegalAccessException: Class 
>> com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1 can not access
>>    a member of class com.foo.bar.MyClass$Status$1 with modifiers "public"
>> 
>> or, if using JRebel, you get
>> 
>>    java.lang.IllegalAccessException: Class<?> 
>> com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1 can not access
>>    com.foo.bar.MyClass$Status$1!
>> 
>> My current workaround:
>> 
>>    package com.foo.bar;
>>    public class MyClass {
>>        public static enum Status {
>>            one    { @Override String descriptionImpl() { return "eins"; } },
>>            two    { @Override String descriptionImpl() { return "zwei"; } };
>>            abstract String descriptionImpl();
>>            public String description() { return descriptionImpl(); }
>>        }
>>    }
>> 
>> which works but is ugly. Now I'm about to implement another Enum with a lot 
>> of methods and it bothers me. Anyone an idea how to improve the situation?
>> 
>> Thanks
>> Maik
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/tim%40triptera.com.au
>> 
>> This email sent to [email protected]
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to