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      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/tim%40triptera.com.au
> 
> This email sent to t...@triptera.com.au

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

This email sent to arch...@mail-archive.com

Reply via email to