/** Generates a property descriptor of type {@link PropertyType#String[]} */
private void generateStringPropertyDescriptor(final ClassAnnotation cad, final ClassDescription classDescription,
final boolean metatype, final String propertyName, final String propertyDescriptorName, String label, String description, boolean isArray) {
final PropertyDescription pd = new PropertyDescription(cad);
pd.setName(propertyDescriptorName);
pd.setLabel(label);
pd.setDescription(description);
pd.setType(PropertyType.String);
if(isArray) {
final String[] values = (String[]) cad.getValue(propertyName);
pd.setMultiValue(values);
pd.setUnbounded(PropertyUnbounded.ARRAY);
pd.setCardinality(Integer.MAX_VALUE);
} else {
final String propertyVal = (String) cad.getValue(propertyName);
pd.setValue(propertyVal);
pd.setUnbounded(PropertyUnbounded.DEFAULT);
}
if (!metatype) {
pd.setPrivate(true);
}
classDescription.add(pd);
}