com.atlassian.jira.issue.fields.renderer
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
 HackyRendererType getDefaultRendererType(OrderableField field)
          Given the field, return the default renderer type that can be used to initilize the field layout item for this field.
 Set<HackyRendererType> getRendererTypes(OrderableField field)
          The set of renderer types for the field.
 boolean shouldOverrideDefaultRenderers(OrderableField field)
          If this method returns true then users will be able to choose renderers in the field configuration for the field.
 

Method Detail

shouldOverrideDefaultRenderers

boolean shouldOverrideDefaultRenderers(OrderableField field)
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 of getRendererTypes(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 return false for RenderableField.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

Set<HackyRendererType> getRendererTypes(OrderableField field)
The set of renderer types for the field. Should only be used if shouldOverrideDefaultRenderers(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

@Nullable
HackyRendererType getDefaultRendererType(OrderableField field)
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 by getRendererTypes(com.atlassian.jira.issue.fields.OrderableField). You should only call this if shouldOverrideDefaultRenderers(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


Copyright © 2002-2014 Atlassian. All Rights Reserved.