@PublicApi public interface

SearchContext

com.atlassian.jira.issue.search.SearchContext
Known Indirect Subclasses

@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

Represents the Project and IssueType combination which is used to determine the allowable fields and values when searching for Issues. In JIRA Schemes generally define what is customised on a per "Context" basis.

Summary

Public Methods
List<IssueContext> getAsIssueContexts()
Gets the search context as a list of IssueContext objects
List<String> getIssueTypeIds()
Issue ids as Strings
List<IssueType> getIssueTypes()
Returns issue types objects in this SearchContext
GenericValue getOnlyProject()
This method is deprecated. Use getSingleProject() instead. Since v5.2.
List getProjectCategoryIds()
Returns selected categories
List<Long> getProjectIds()
Project ids as Longs.
List<Project> getProjects()
Returns project objects in this SearchContext
Project getSingleProject()
Returns the single Project for this SearchContext.
boolean isForAnyIssueTypes()
Returns true if no specific issue types have been selected
boolean isForAnyProjects()
Returns whether the context is global or not.
boolean isSingleProjectContext()
Returns true if there is exactly one Project in this SearchContext.
void verify()
Verifies that all issue types and projects in the context actually still exists.

Public Methods

public List<IssueContext> getAsIssueContexts ()

Gets the search context as a list of IssueContext objects

Returns
  • List of IssueContext. If no issue types or projects selected. A blank issue context is returned. Never null.

public List<String> getIssueTypeIds ()

Issue ids as Strings

Returns
  • List of issue type ids possibly empty.

public List<IssueType> getIssueTypes ()

Returns issue types objects in this SearchContext

Returns
  • List of IssueType. If no issue types are selected, returns an empty list

public GenericValue getOnlyProject ()

This method is deprecated.
Use getSingleProject() instead. Since v5.2.

Returns the single Project for this SearchContext. You should first call isSingleProjectContext() to check if this is valid.

Returns
  • the single Project for this SearchContext.

public List getProjectCategoryIds ()

Returns selected categories

Returns
  • Empty list if no categories were selected

public List<Long> getProjectIds ()

Project ids as Longs.

Returns
  • List of Long objects, possibly empty.

public List<Project> getProjects ()

Returns project objects in this SearchContext

Returns
  • List of Project. If no projects are selected, returns an empty list.

public Project getSingleProject ()

Returns the single Project for this SearchContext. You should first call isSingleProjectContext() to check if this is valid.

Returns
  • the single Project for this SearchContext.
Throws
IllegalStateException if there is not exactly one Project in this SearchContext.

public boolean isForAnyIssueTypes ()

Returns true if no specific issue types have been selected

Returns
  • boolean

public boolean isForAnyProjects ()

Returns whether the context is global or not. A context is global when there are no project restrictions and no project category restrictions.

Returns
  • boolean

public boolean isSingleProjectContext ()

Returns true if there is exactly one Project in this SearchContext.

Returns
  • true if there is exactly one Project in this SearchContext.

public void verify ()

Verifies that all issue types and projects in the context actually still exists. This might not be the case. Also removes any projects or issue types from this SearchContext that do not (any longer) exist in the backing store.