// Get the CustomFieldService.
CustomFieldServiceInterface customFieldService =
user.getService(DfpService.V201208.CUSTOM_FIELD_SERVICE);
// Sets defaults for page and filter.
CustomFieldPage page = new CustomFieldPage();
Statement filterStatement = new Statement();
int offset = 0;
do {
// Create a statement to get all custom fields.
filterStatement.setQuery("LIMIT 500 OFFSET " + offset);
// Get custom fields by statement.
page = customFieldService.getCustomFieldsByStatement(filterStatement);
if (page.getResults() != null) {
int i = page.getStartIndex();
for (CustomField customField : page.getResults()) {
if (customField instanceof DropDownCustomField) {
List<String> dropDownCustomFieldStrings = new ArrayList<String>();
DropDownCustomField dropDownCustomField = (DropDownCustomField) customField;
if (dropDownCustomField.getOptions() != null) {
for (CustomFieldOption customFieldOption : dropDownCustomField.getOptions()) {
dropDownCustomFieldStrings.add(customFieldOption.getDisplayName());
}
}
System.out.println(i + ") Drop-down custom field with ID \"" + customField.getId()
+ "\", name \"" + customField.getName() + "\", and options {"
+ StringUtils.join(dropDownCustomFieldStrings, ",") + "} was found.");
} else {
System.out.println(i + ") Custom field with ID \"" + customField.getId()
+ "\" and name \"" + customField.getName() + "\" was found.");
}
i++;
}
}
offset += 500;
} while (page.getResults() != null && page.getResults().length == 500);
System.out.println("Number of results found: " + page.getTotalResultSetSize());
} catch (Exception e) {
e.printStackTrace();
}
}