@Override
	public String[] getPropertyNames() {
		List<String> result = new ArrayList<String>();
		for (PropertyDescriptor pd : beanWrapper.getPropertyDescriptors()) {
			String name = pd.getName();
			if (beanWrapper.isReadableProperty(name) && !"class".equals(name)) {
				result.add(name);
			}
		}
		return result.toArray(new String[result.size()]);
	}
A {@link PropertySource} that exposes the javabeans properties of an object as properties.

@author Eric Bottard
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/server/options/BeanPropertiesPropertySource.java