PropertyDescriptor { public ValueSet getValueSet() { return (ValueSet) getAttribute("valueSet"); } PropertyDescriptor(String name, Class<?> type);  PropertyDescriptor(PropertyDescriptor propertyDescriptor);  PropertyDescriptor(String name, Class<?> type, Map<String, Object> attributes); String getName(); Class<?> getType(); String getDisplayName(); void setDisplayName(String displayName); String getAlias(); void setAlias(String alias); String getUnit(); void setUnit(String unit); String getDescription(); void setDescription(String description); boolean isNotNull(); void setNotNull(boolean notNull); boolean isNotEmpty(); void setNotEmpty(boolean notEmpty); boolean isDeprecated(); void setDeprecated(boolean deprecated); boolean isTransient(); void setTransient(boolean b); String getFormat(); void setFormat(String format); ValueRange getValueRange(); void setValueRange(ValueRange valueRange); Pattern getPattern(); Object getDefaultValue(); void setDefaultValue(Object defaultValue); void setPattern(Pattern pattern); ValueSet getValueSet(); void setValueSet(ValueSet valueSet); Converter<?> getConverter(); Converter<?> getConverter(boolean notNull); void setDefaultConverter(); void setConverter(Converter<?> converter); DomConverter getDomConverter(); void setDomConverter(DomConverter converter); Validator getValidator(); void setValidator(Validator validator); PropertySetDescriptor getPropertySetDescriptor(); void setPropertySetDescriptor(PropertySetDescriptor propertySetDescriptor); String getItemAlias(); void setItemAlias(String alias); @Deprecated boolean getItemsInlined(); @Deprecated void setItemsInlined(boolean inlined); Object getAttribute(String name); void setAttribute(String name, Object value); final void addAttributeChangeListener(PropertyChangeListener listener); final void removeAttributeChangeListener(PropertyChangeListener listener); PropertyChangeListener[] getAttributeChangeListeners(); static String getDisplayName(PropertyDescriptor propertyDescriptor); static String createDisplayName(String name);  }
@Test public void testThatEnumTypesHaveValueSet() { PropertyDescriptor descriptor = new PropertyDescriptor("letter", Letter.class); assertNotNull(descriptor.getValueSet()); assertArrayEquals(new Object[]{Letter.A,Letter.B,Letter.C,Letter.D}, descriptor.getValueSet().getItems()); }