@PublicSpi public abstract class AbstractCustomFieldType<T,S> extends Object implements CustomFieldType<T,S>
| Modifier and Type | Class and Description |
|---|---|
static interface |
AbstractCustomFieldType.Visitor<X>
Visitor interface for AbstractCustomFieldType.
|
static interface |
AbstractCustomFieldType.VisitorBase<X>
Marker interface for visitors of AbstractCustomFieldType (acyclic visitor).
|
DEFAULT_VALUE_TYPE, RESOURCE_PREVIEW| Constructor and Description |
|---|
AbstractCustomFieldType() |
| Modifier and Type | Method and Description |
|---|---|
Object |
accept(AbstractCustomFieldType.VisitorBase visitor) |
protected void |
assertObjectImplementsType(Class<?> clazz,
Object o) |
String |
availableForBulkEdit(BulkEditBean bulkEditBean)
Allow the custom field type perform a specific check as to its availability for bulk editing.
|
String |
getChangelogString(CustomField field,
T value)
Returns a String of representing values to be stored in the change log, an example is the name of a version
field that a version id will resolve to within JIRA.
|
List<FieldConfigItemType> |
getConfigurationItemTypes()
Returns a List of
FieldConfigItemType objects. |
String |
getDescription() |
CustomFieldTypeModuleDescriptor |
getDescriptor() |
protected I18nHelper |
getI18nBean() |
String |
getKey()
Returns the full key of the CustomFieldType.
|
String |
getName() |
List<FieldIndexer> |
getRelatedIndexers(CustomField customField)
Returns a list of indexers that will be used for the field.
|
Map |
getVelocityParameters(Issue issue)
Implementers should override the 3-param version of this.
|
Map<String,Object> |
getVelocityParameters(Issue issue,
CustomField field,
FieldLayoutItem fieldLayoutItem)
The custom field may wish to pass parameters to the velocity context beyond the getValueFromIssue methods
(eg managers).
|
void |
init(CustomFieldTypeModuleDescriptor descriptor)
Initialises the CustomFieldType with the given descriptor.
|
boolean |
isRenderable()
This is a mirror of the method from the RenderableField interface and is needed to bridge the gap between
CustomFields and CustomFieldTypes.
|
boolean |
valuesEqual(T v1,
T v2)
Used to compare 2 field values and work out whether a change item should be generated
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateValue, getChangelogValue, getCloneOptionConfiguration, getCloneValue, getDefaultValue, getSingularObjectFromString, getStringFromSingularObject, getStringValueFromCustomFieldParams, getValueFromCustomFieldParams, getValueFromIssue, isUserInputRequiredForMove, remove, setDefaultValue, updateValue, validateFromParamspublic void init(CustomFieldTypeModuleDescriptor descriptor)
CustomFieldTypeinit in interface CustomFieldType<T,S>descriptor - CustomFieldTypeModuleDescriptorpublic final String getKey()
CustomFieldTypegetKey in interface CustomFieldType<T,S>public final String getName()
getName in interface CustomFieldType<T,S>public final String getDescription()
getDescription in interface CustomFieldType<T,S>public final CustomFieldTypeModuleDescriptor getDescriptor()
getDescriptor in interface CustomFieldType<T,S>@Nonnull public Map<String,Object> getVelocityParameters(Issue issue, CustomField field, FieldLayoutItem fieldLayoutItem)
CustomFieldTypeThe values are added to the context for all velocity views (edit, search, view, xml)
getVelocityParameters in interface CustomFieldType<T,S>issue - The issue currently in context (Note: this will be null in cases like 'default value')field - CustomFieldfieldLayoutItem - FieldLayoutItemMap of parameters to add to the velocity context, or an empty Map otherwise (never null)public final Map getVelocityParameters(Issue issue) throws IllegalAccessException
@Nonnull public List<FieldConfigItemType> getConfigurationItemTypes()
CustomFieldTypeFieldConfigItemType objects. Can not be immutable.
This opens up possibilities for configurable custom fields.getConfigurationItemTypes in interface CustomFieldType<T,S>FieldConfigItemTypepublic List<FieldIndexer> getRelatedIndexers(CustomField customField)
CustomFieldTypegetRelatedIndexers in interface CustomFieldType<T,S>customField - the custom field to get the related indexers of.FieldIndexer objects. Null if no related indexers.public boolean isRenderable()
CustomFieldTypeisRenderable in interface CustomFieldType<T,S>public boolean valuesEqual(T v1, T v2)
CustomFieldTypevaluesEqual in interface CustomFieldType<T,S>v1 - current valuev2 - new valuepublic String getChangelogString(CustomField field, T value)
CustomFieldTypegetChangelogString in interface CustomFieldType<T,S>field - CustomField that the value belongs tovalue - Transport Object representing the value instance of the CustomFieldpublic String availableForBulkEdit(BulkEditBean bulkEditBean)
CustomFieldTypeavailableForBulkEdit in interface CustomFieldType<T,S>bulkEditBean - BulkEditBeanprotected I18nHelper getI18nBean()
public Object accept(AbstractCustomFieldType.VisitorBase visitor)
Copyright © 2002-2017 Atlassian. All Rights Reserved.