@PublicSpi @PublicApi public interface

JiraRendererPlugin

com.atlassian.jira.issue.fields.renderer.JiraRendererPlugin
Known Indirect Subclasses

@PublicSpi

This interface is designed for plugins to implement.

Clients of @PublicSpi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicSpi as per each product's API policy (clients should refer to each product's API policy for the exact guarantee -- usually binary compatibility is guaranteed at least across minor versions).

Note: @PublicSpi interfaces and classes are specifically designed to be implemented/extended by clients. Hence, the guarantee of binary compatibility is different to that of @PublicApi elements (if an element is both @PublicApi and @PublicSpi, both guarantees apply).

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

The top-level interface that defines a renderer and its configuration within jira.

Summary

Public Methods
JiraRendererModuleDescriptor getDescriptor()
Simple accessor method for the module descriptor.
String getRendererType()
Returns a unique identifier for this renderer plugin.
void init(JiraRendererModuleDescriptor jiraRendererModuleDescriptor)
This allows a plugin to get a handle on the module descriptor that spawned the plugin.
String render(String value, IssueRenderContext context)
This will render the provided value within the provided context and produce a rendered output.
String renderAsText(String value, IssueRenderContext context)
This will render the provided value within the provided context and produce a rendered output that is text readable.
Object transformForEdit(Object rawValue)
This allows the renderer to perform a transformation on the raw value before populating an editable component with the value.
Object transformFromEdit(Object editValue)
This allows the renderer to perform a transformation on the submitted edit value before storing the value in the system.

Public Methods

public JiraRendererModuleDescriptor getDescriptor ()

Simple accessor method for the module descriptor.

Returns
  • the module descriptor that spawned this renderer.

public String getRendererType ()

Returns a unique identifier for this renderer plugin.

Returns
  • the unique identifier for this renderer plugin implmentation.

public void init (JiraRendererModuleDescriptor jiraRendererModuleDescriptor)

This allows a plugin to get a handle on the module descriptor that spawned the plugin.

Parameters
jiraRendererModuleDescriptor is the module descriptor that spawned the plugin. If the plugin uses resources, such as velocity templates, then access can be gained through this descriptor.

public String render (String value, IssueRenderContext context)

This will render the provided value within the provided context and produce a rendered output.

Parameters
value the raw value to render.
context the issue context for this rendering
Returns
  • the transformed value having passed through the rendering process.

public String renderAsText (String value, IssueRenderContext context)

This will render the provided value within the provided context and produce a rendered output that is text readable.

Parameters
value the raw value to render.
context the issue context for this rendering
Returns
  • the transformed value having passed through the rendering process, the value must be text readable.

public Object transformForEdit (Object rawValue)

This allows the renderer to perform a transformation on the raw value before populating an editable component with the value. This can be useful if the value being stored is a different format (i.e. wiki markup), than the edit component expects (i.e. wysiwig edit control that expects html). NOTE: this method need not do anything if the edit control can handle the value as stored in the system.

Parameters
rawValue is the value stored in the system, before transform.
Returns
  • the value in a form that the renderers edit control expects.

public Object transformFromEdit (Object editValue)

This allows the renderer to perform a transformation on the submitted edit value before storing the value in the system. This can be useful if the value being submitted is a different format (i.e. html markup that the edit control generates), than the system expects to store (i.e. wiki markup). NOTE: this method need not do anything if the system is happy to store the value the edit control produces.

Parameters
editValue is the value produced by the edit control.
Returns
  • the value in a form that the system expects to store.