Interface HackyFieldRendererRegistry
- All Known Implementing Classes:
DefaultHackyFieldRendererRegistry
public interface HackyFieldRendererRegistry
Shoehorn in per-field renderer types that override the pluggable renderers. This registry allows us to switch between
the native select list and frother control rendering for the versions and components fields.
In future this hack should be replaced with pluggable per-field renderer types.
- Since:
- v4.2
-
Method Summary
Modifier and TypeMethodDescriptionGiven the field, return the default renderer type that can be used to initilize the field layout item for this field.getRendererTypes
(OrderableField field) The set of renderer types for the field.boolean
If this method returns true then users will be able to choose renderers in the field configuration for the field.
-
Method Details
-
shouldOverrideDefaultRenderers
If this method returns true then users will be able to choose renderers in the field configuration for the field. The set of renders to choose from are determined by the result ofgetRendererTypes(com.atlassian.jira.issue.fields.OrderableField)
and will override any pluggable renderer types defined.Fields that don't implement the
RenderableField
interface (or that do but but returnfalse
forRenderableField.isRenderable()
, e.g., custom fields) can still return true here to signify that they should have the option to choose renderers.- Parameters:
field
- the field- Returns:
- true if the field has custom renderer types
-
getRendererTypes
The set of renderer types for the field. Should only be used ifshouldOverrideDefaultRenderers(com.atlassian.jira.issue.fields.OrderableField)
returns true.- Parameters:
field
- the field- Returns:
- the set of renderer types, or the empty set if the field doesn't have custom renderer types defined
-
getDefaultRendererType
Given the field, return the default renderer type that can be used to initilize the field layout item for this field. The return value must be in the set returned bygetRendererTypes(com.atlassian.jira.issue.fields.OrderableField)
. You should only call this ifshouldOverrideDefaultRenderers(com.atlassian.jira.issue.fields.OrderableField)
returns true, otherwise this will return null.- Parameters:
field
- the field- Returns:
- the default renderer type or null if the field doesn't override renderers
-