@PublicSpi public interface

SearchRenderer

com.atlassian.jira.issue.search.searchers.renderer.SearchRenderer
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).

Class Overview

Handles the rendering of field search information for the JIRA issue navigator. The html that is produced by these methods will create request parameters that can be processed by a SearchInputTransformer to populate a SearchRequest.

Summary

Public Methods
String getEditHtml(User user, SearchContext searchContext, FieldValuesHolder fieldValuesHolder, Map<?, ?> displayParameters, Action action)
Used to produce an HTML input that is rendered on the JIRA issue navigator.
String getViewHtml(User user, SearchContext searchContext, FieldValuesHolder fieldValuesHolder, Map<?, ?> displayParameters, Action action)
Used to produce the HTML that displays a searchers summary information (e.g.
boolean isRelevantForQuery(User user, Query query)
Checks if the searchRequest object has a search representation that was created by the searcher and is used to determine if the getViewHtml(User, com.atlassian.jira.issue.search.SearchContext, com.atlassian.jira.issue.transport.FieldValuesHolder, java.util.Map, webwork.action.Action) method should be called when rendering the search summary.
boolean isShown(User user, SearchContext searchContext)
Checks if the searcher should be shown in this context on the Issue Navigator.

Public Methods

public String getEditHtml (User user, SearchContext searchContext, FieldValuesHolder fieldValuesHolder, Map<?, ?> displayParameters, Action action)

Used to produce an HTML input that is rendered on the JIRA issue navigator. This HTML provides the UI for searching a fields content. There will be a corresponding SearchInputTransformer that will know how to transform these input parameters into JIRA search objects.

Parameters
user performing this action.
searchContext the search context of the current search request that may be participating in rendering the issue navigator.
fieldValuesHolder contains any request parameters that the HTML input may need to use to pre-populate the input (e.g. if this is the priority renderer and the search request being rendered has two priorities already selected these params will contain these request parameters). These parameters will have been populated via a call to populateFromQuery(User, com.atlassian.jira.issue.transport.FieldValuesHolder, com.atlassian.query.Query, com.atlassian.jira.issue.search.SearchContext) if there is a SearchRequest involved in the rendering this IssueNavigator call.
displayParameters are a map of "hints" that can be passed from the caller to this code which can use these hints to alter the way it renders the HTML.
action is the WebWork 1 action object that is rendering the Issue Navigator view. This can be used to invoke methods on the view.
Returns
  • a String that contains HTML that can be rendered on the left-hand side of the JIRA issue navigator.

public String getViewHtml (User user, SearchContext searchContext, FieldValuesHolder fieldValuesHolder, Map<?, ?> displayParameters, Action action)

Used to produce the HTML that displays a searchers summary information (e.g. if this is the priority searcher and a user has selected two priorities then this method will render HTML that shows something like 'priority: Major, Minor').

Parameters
user performing this action.
searchContext the search context of the current search request that may be participating in rendering the issue navigator.
fieldValuesHolder contains any request parameters that the HTML input may need to use to pre-populate the input (e.g. if this is the priority renderer and the search request being rendered has two priorities already selected these params will contain these request parameters). These parameters will have been populated via a call to populateFromQuery(User, com.atlassian.jira.issue.transport.FieldValuesHolder, com.atlassian.query.Query, com.atlassian.jira.issue.search.SearchContext) if there is a SearchRequest involved in the rendering this IssueNavigator call.
displayParameters are a map of "hints" that can be passed from the caller to this code which can use these hints to alter the way it renders the HTML.
action is the WebWork 1 action object that is rendering the Issue Navigator view. This can be used to invoke methods on the view.
Returns
  • a String that contains HTML that can be rendered on the left-hand side of the issue navigator to show a SearchRequest summary.

public boolean isRelevantForQuery (User user, Query query)

Checks if the searchRequest object has a search representation that was created by the searcher and is used to determine if the getViewHtml(User, com.atlassian.jira.issue.search.SearchContext, com.atlassian.jira.issue.transport.FieldValuesHolder, java.util.Map, webwork.action.Action) method should be called when rendering the search summary.

Parameters
user performing this action.
query contains the search criteria used to determine if this query is relevevant to the searcher.
Returns
  • true if the query has relevant clauses to the searchers, false otherwise.

public boolean isShown (User user, SearchContext searchContext)

Checks if the searcher should be shown in this context on the Issue Navigator.

Parameters
user performing this action.
searchContext the context of the search (i.e. projects and issue types selected).
Returns
  • true if the searcher will appear in the issue navigator, false otherwise.