use of com.manydesigns.elements.annotations.Enabled in project Portofino by ManyDesigns.
the class FormBuilder method configReflectiveFields.
public FormBuilder configReflectiveFields() {
logger.debug("configReflectiveFields");
groupedPropertyAccessors = new ArrayList<ArrayList<PropertyAccessor>>();
fieldSetNames = new ArrayList<String>();
ArrayList<PropertyAccessor> currentGroup = null;
String currentGroupName = null;
for (PropertyAccessor current : classAccessor.getProperties()) {
// check if field is enabled
Enabled enabled = current.getAnnotation(Enabled.class);
if (enabled != null && !enabled.value()) {
logger.debug("Skipping non-enabled field: {}", current.getName());
continue;
}
String groupName = null;
if (current.isAnnotationPresent(com.manydesigns.elements.annotations.FieldSet.class)) {
groupName = getText(current.getAnnotation(FieldSet.class).value());
}
if ((currentGroup == null) || (groupName != null && !groupName.equals(currentGroupName))) {
currentGroup = new ArrayList<PropertyAccessor>();
groupedPropertyAccessors.add(currentGroup);
fieldSetNames.add(groupName);
currentGroupName = groupName;
}
currentGroup.add(current);
}
logger.debug("configReflectiveFields");
return this;
}
Aggregations