@PublicApi public final class SearchHandler extends Object
The field controls how JIRA indexes an issue by specifying a list of FieldIndexer
s.
Each JQL clause in JIRA is represented by a SearchHandler.ClauseRegistration
.
It consists of a set of JQL names and the ClauseHandler
that can be used to process
those JQL names in a query.
Each field *may* have one IssueSearcher
that uses a list of JQL
clauses to create a JQL search. This is specified in the SearchHandler.SearcherRegistration
on the SearchHandler. JIRA will keep the association between the IssueSearcher and JQL clauses (ClasuseHandler) to
perform the mapping from JQL to the GUI version of Issue Navigator. Listing ClauseHandlers in the
SearcherRegistration that are not related to the IssueSearcher may result JIRA falsely determining that a JQL query
cannot be represented on the navigator GUI. Note that the JQL clauses listed in the SearcherRegistration will also be
available directly in JQL.
The field may also have another set of JQL clauses that can be used against the field but are not associated with any IssueSearcher. The clauses are held in the list of ClauseRegistrations on the ClauseHandler itself. These JQL clauses cannot be represented on navigtor as they have no IssueSearcher.
The same ClauseHandler should not be listed in both the SearcherRegistration and the SearchHandler directly. Doing so could result in doing JIRA performing the same search twice.
Modifier and Type | Class and Description |
---|---|
static class |
SearchHandler.ClauseRegistration
Represents a JQL clause and how to process it.
|
static class |
SearchHandler.SearcherRegistration
Holds the link between an
IssueSearcher and the JQL clauses (as
SearchHandler.ClauseRegistration s) that it uses in the background to
implement searching. |
Constructor and Description |
---|
SearchHandler(List<FieldIndexer> fieldIndexers,
SearchHandler.SearcherRegistration searcherRegistration)
Create a new handler with the passed
FieldIndexer s and SearchHandler.SearcherRegistration . |
SearchHandler(List<FieldIndexer> fieldIndexers,
SearchHandler.SearcherRegistration searcherRegistration,
List<SearchHandler.ClauseRegistration> clauseRegistrations)
Create a new handler.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
List<SearchHandler.ClauseRegistration> |
getClauseRegistrations()
The list of JQL clauses provided for searching.
|
List<FieldIndexer> |
getIndexers()
The list of indexers that will JIRA will use to index the field.
|
SearchHandler.SearcherRegistration |
getSearcherRegistration()
The
SearchHandler.SearcherRegistration provided for searching. |
int |
hashCode() |
String |
toString() |
public SearchHandler(List<FieldIndexer> fieldIndexers, SearchHandler.SearcherRegistration searcherRegistration, List<SearchHandler.ClauseRegistration> clauseRegistrations)
fieldIndexers
- the indexers to associate with the handler. May not be null.searcherRegistration
- the registration to associate with the handler. May be null.clauseRegistrations
- the JQL clauses to associate with the chanler. May not be null.public SearchHandler(List<FieldIndexer> fieldIndexers, SearchHandler.SearcherRegistration searcherRegistration)
FieldIndexer
s and SearchHandler.SearcherRegistration
. Same as calling this(fieldIndexers,
searcherRegistration,Collections.<ClauseRegistration>emptyList());
fieldIndexers
- the indexers to associate with the handler.searcherRegistration
- the searcher (and its associated clauses) to associate with the handler. May be
null.public List<FieldIndexer> getIndexers()
public List<SearchHandler.ClauseRegistration> getClauseRegistrations()
IssueSearcher
and as such cannot be represented on the GUI version of
the Issue Navigator.public SearchHandler.SearcherRegistration getSearcherRegistration()
SearchHandler.SearcherRegistration
provided for searching.SearchHandler.SearcherRegistration
provided for searching.
Null may be returned to indicate that there is no IssueSearcher associated with this handler.Copyright © 2002-2024 Atlassian. All Rights Reserved.