[ http://jira.jboss.com/jira/browse/JBAS-1288?page=history ]

Scott M Stark updated JBAS-1288:
--------------------------------

    Priority: Minor  (was: Major)

Integration with java5 features into a codebase that requires a jdk1.4.2 is 
still on ongoing discussion.

> Java5 Enum for mbean and configurations
> ---------------------------------------
>
>          Key: JBAS-1288
>          URL: http://jira.jboss.com/jira/browse/JBAS-1288
>      Project: JBoss Application Server
>         Type: Feature Request
>   Components: JMX
>     Versions: JBossAS-4.0.1 Final
>     Reporter: Michael Kopp
>     Assignee: Scott M Stark
>     Priority: Minor

>
>
> Whenever you try to get a PropertyEditor for something but none is there, do 
> the following additional check:
> if (type.getSuperclass().getName().equals("java.lang.Enum"))
> {
>    editor = new EnumPropertyEditor(type);
> }
> where the EnumPropertyEditor is:
> public class EnumPropertyEditor extends PropertyEditorSupport implements 
> PropertyEditor
> {
>     private final Class targetType;
>     public EnumPropertyEditor(Class targetType)
>     {
>         this.targetType = targetType;
>     }
>     public void setAsText(String text) throws IllegalArgumentException
>     {
>         try
>         {
>             setValue(targetType.getMethod("valueOf",new 
> Class[]{String.class}).invoke(null,new Object[]{text});
>         } catch (IllegalAccessException e)
>         {
>             throw new IllegalStateException(e);
>         } catch (InvocationTargetException e)
>         {
>             if (e.getTargetException() instanceof RuntimeException);
>                 throw (RuntimeException)e.getTargetException();
>             throw new IllegalStateException(e);
>         } catch (NoSuchMethodException e)
>         {
>             String err = type.getName() +
>                 " does not contain the required method: public static " +
>                  type.getName() + " valueOf(String);";
>             throw new IllegalArgumentException(err,e);
>         }
>         
>     }
>     public String getAsText()
>     {
>       
>         try
>         {
>             return targetType.getMethod("name",null).invoke(getValue(),null)
>         } catch (IllegalAccessException e)
>         {
>             throw new IllegalStateException(e);
>         } catch (InvocationTargetException e)
>         {
>             if (e.getTargetException() instanceof RuntimeException);
>                 throw (RuntimeException)e.getTargetException();
>             throw new IllegalStateException(e);
>         } catch (NoSuchMethodException e)
>         {
>             String err = type.getName() +
>                 " does not contain the required method: public String name()";
>             throw new IllegalStateException(err,e);
>         }
>     }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to