/** * This method creates configuration data for a given class definition using reflection and the * configuration parameter annotation * * @param componentClass * the class to analyze * @return the configuration settings extracted from the class */ public static ConfigurationData createConfigurationData(Class<?> componentClass) { List<ConfigurationParameter> configurationParameters = new ArrayList<ConfigurationParameter>(); List<Object> configurationValues = new ArrayList<Object>(); for (Field field : ReflectionUtil.getFields(componentClass)) { if (ConfigurationParameterFactory.isConfigurationParameterField(field)) { configurationParameters.add(ConfigurationParameterFactory.createPrimitiveParameter(field)); configurationValues.add(ConfigurationParameterFactory.getDefaultValue(field)); } } return new ConfigurationData( configurationParameters.toArray(new ConfigurationParameter[configurationParameters .size()]), configurationValues.toArray(new Object[configurationValues.size()])); }
return new ConfigurationData(new ConfigurationParameter[0], new Object[0]); configurationValues.add(ConfigurationParameterFactory.convertParameterValue(param, value)); return new ConfigurationData( configurationParameters.toArray(new ConfigurationParameter[configurationParameters .size()]), configurationValues.toArray());