[ 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