package com.taskadapter.redmineapi;
import com.taskadapter.redmineapi.bean.CustomFieldDefinition;
import com.taskadapter.redmineapi.internal.Transport;
import java.util.List;
/**
* Works with Custom Field Definitions (read-only at this moment).
* <p>Obtain it via RedmineManager:
* <pre>
RedmineManager mgr = RedmineManagerFactory.createWithUserAuth(redmineURI, login, password);
CustomFieldManager customFieldManager = mgr.getIssueManager();
* </pre>
*
* The current version only allows loading custom fields definition from the server (Redmine v. 1 through 3).
* You cannot create new Custom Field definitions through Redmine REST API. Please see http://www.redmine.org/issues/9664 for details.
*
* <p>Sample usage:
* <pre>
definitions = customFieldManager.getCustomFieldDefinitions();
* </pre>
*
* @see RedmineManager
*/
public class CustomFieldManager {
private final Transport transport;
CustomFieldManager(Transport transport) {
this.transport = transport;
}
/**
* Fetch custom field definitions from server.
*
* @throws com.taskadapter.redmineapi.RedmineException
* @since Redmine 2.4
* @return List of custom field definitions
*/
public List<CustomFieldDefinition> getCustomFieldDefinitions()
throws RedmineException {
return transport.getObjectsList(CustomFieldDefinition.class);
}
}