Class AbstractSingleFieldType<T>

java.lang.Object
com.atlassian.jira.issue.customfields.impl.AbstractCustomFieldType<T,T>
com.atlassian.jira.issue.customfields.impl.AbstractSingleFieldType<T>
All Implemented Interfaces:
CustomFieldType<T,T>
Direct Known Subclasses:
DateCFType, DateTimeCFType, GenericTextCFType, NumberCFType, ProjectCFType, SelectCFType, StringCFType, UserCFType

@PublicSpi public abstract class AbstractSingleFieldType<T> extends AbstractCustomFieldType<T,T>
An abstract class that simplifies creating a CustomField that stores a single values via ofbiz. Possible values to store are: A custom field value has 3 states that it can be represented as.
In Memory Object (aka Transport Object)
This is used as the primary version of the custom field value. This is what is passed to the view layer. An example would be a User or a GenericValue representing a project.
String representation
When editing a custom field value, it needs to be send to the web browser and received in text format. The in Memory Object mentioned above must have a text representation of itself, and be able to parse it. This is the value passed to the edit template. An example would be a username, or project id.
Database representation (required if storing in a database)
A custom field can be stored in a database, and there needs to be a way of getting from the object value to the database value. An example of this would be the project id.