if (fields.size() == 0) {
debugBuilder.appendln("none");
} else {
for (int i = 0; i < fields.size(); i++) {
final ObjectAssociation field = fields.get(i);
debugBuilder.appendln((i + 1) + "." + field.getId() + " (" + field.getClass().getName() + ")");
debugBuilder.indent();
final String description = field.getDescription();
if (description != null && !description.equals("")) {
debugBuilder.appendln("Description", description);
}
final String help = field.getHelp();
if (help != null && !help.equals("")) {
debugBuilder.appendln("Help", help.substring(0, Math.min(30, help.length())) + (help.length() > 30 ? "..." : ""));
}
debugBuilder.appendln("ID", field.getIdentifier());
debugBuilder.appendln("Short ID", field.getId());
debugBuilder.appendln("Name", field.getName());
final String type = field.isOneToManyAssociation() ? "Collection" : field.isOneToOneAssociation() ? "Object" : "Unknown";
debugBuilder.appendln("Type", type);
final ObjectSpecification fieldSpec = field.getSpecification();
final boolean hasIdentity = !(fieldSpec.isParentedOrFreeCollection() || fieldSpec.isParented() || fieldSpec.isValue());
debugBuilder.appendln("Has identity", hasIdentity);
debugBuilder.appendln("Spec", fieldSpec.getFullIdentifier());
debugBuilder.appendln("Flags", (field.isAlwaysHidden() ? "" : "Visible ") + (field.isNotPersisted() ? "Not Persisted " : " ") + (field.isMandatory() ? "Mandatory " : ""));
final Class<? extends Facet>[] facets = field.getFacetTypes();
if (facets.length > 0) {
debugBuilder.appendln("Facets");
debugBuilder.indent();
boolean none = true;
for (final Class<? extends Facet> facet : facets) {
debugBuilder.appendln(field.getFacet(facet).toString());
none = false;
}
if (none) {
debugBuilder.appendln("none");
}
debugBuilder.unindent();
}
debugBuilder.appendln(field.debugData());
debugBuilder.unindent();
}
}
} catch (final RuntimeException e) {