@ThreadSafe public final class DefaultSearchHandlerManager extends Object implements SearchHandlerManager
SearchHandlerManager.| Constructor and Description |
|---|
DefaultSearchHandlerManager(FieldManager fieldManager,
CustomFieldManager customFieldManager,
SystemClauseHandlerFactory systemClauseHandlerFactory,
QueryCache queryCache,
com.atlassian.cache.CacheManager cacheManager,
JqlAliasManager jqlAliasManager) |
| Modifier and Type | Method and Description |
|---|---|
Collection<IssueSearcher<?>> |
getAllSearchers()
Return all the active searchers in JIRA.
|
Collection<ClauseHandler> |
getClauseHandler(ApplicationUser user,
String jqlClauseName)
Return a collection of
ClauseHandlers registered against the passed JQL clause
name. |
Collection<ClauseHandler> |
getClauseHandler(String jqlClauseName)
Return a collection of
ClauseHandlers registered against the passed JQL clause
name. |
Collection<String> |
getFieldIds(ApplicationUser searcher,
String jqlClauseName)
Gets the field ids that are associated with the provided jqlClauseName.
|
Collection<String> |
getFieldIds(String jqlClauseName)
Gets the field ids that are associated with the provided jqlClauseName.
|
Collection<ClauseNames> |
getJqlClauseNames(String fieldId)
Get the
ClauseNames associated with the provided field name. |
IssueSearcher<?> |
getSearcher(String id)
Get a searcher by the searchers name.
|
Collection<SearcherGroup> |
getSearcherGroups()
Get all searcher groups.
|
Collection<SearcherGroup> |
getSearcherGroups(SearchContext searchContext)
Get all searcher groups with the
IssueSearcher that are applicable for the context. |
Collection<IssueSearcher<?>> |
getSearchers(ApplicationUser searcher,
SearchContext context)
Get searchers that are applicable for a given context.
|
Collection<IssueSearcher<?>> |
getSearchersByClauseName(ApplicationUser user,
String jqlClauseName)
Return a collection of
IssueSearchers registered against the
passed JQL clause name. |
Collection<IssueSearcher<?>> |
getSearchersByClauseName(ApplicationUser user,
String jqlClauseName,
SearchContext searchContext)
Return a collection of
IssueSearchers registered against the
passed JQL clause name. |
Collection<ClauseHandler> |
getVisibleClauseHandlers(ApplicationUser searcher)
Get all the available clause handlers that the searcher can see.
|
Collection<ClauseNames> |
getVisibleJqlClauseNames(ApplicationUser searcher)
Get all the available clause names that the searcher can see.
|
void |
onClearCache(ClearCacheEvent event) |
void |
onJiraPluginTransactionEndEvent(JiraPluginTransactionEndEvent event) |
void |
refresh()
Refreshes the
SearchHandlerManager. |
public DefaultSearchHandlerManager(FieldManager fieldManager, CustomFieldManager customFieldManager, SystemClauseHandlerFactory systemClauseHandlerFactory, QueryCache queryCache, com.atlassian.cache.CacheManager cacheManager, JqlAliasManager jqlAliasManager)
@EventListener public void onClearCache(ClearCacheEvent event)
@EventListener public void onJiraPluginTransactionEndEvent(JiraPluginTransactionEndEvent event)
@Nonnull public Collection<ClauseHandler> getClauseHandler(ApplicationUser user, String jqlClauseName)
SearchHandlerManagerClauseHandlers registered against the passed JQL clause
name. This will only return the handlers that the user has permission to see as specified by the com.atlassian.jira.jql.permission.ClausePermissionHandler#hasPermissionToUseClause(User)
method. The reason this is returning a collection is that custom fields can have the same JQL clause name and
therefore resolve to multiple clause handlers. This will never be the case for System fields; we don't allow it!getClauseHandler in interface SearchHandlerManageruser - that will be used to perform a permission check.jqlClauseName - the clause name to search for.@Nonnull public Collection<ClauseHandler> getClauseHandler(String jqlClauseName)
SearchHandlerManagerClauseHandlers registered against the passed JQL clause
name. This will return all available handlers, regardless of permissions. The reason this is returning a collection
is that custom fields can have the same JQL clause name and therefore resolve to multiple clause handlers. This
will never be the case for System fields; we don't allow it!getClauseHandler in interface SearchHandlerManagerjqlClauseName - the clause name to search for.@Nonnull public Collection<ClauseNames> getJqlClauseNames(String fieldId)
SearchHandlerManagerClauseNames associated with the provided field name.
A collection can be returned because it is possible for multiple clause handlers to register against the same field.
getJqlClauseNames in interface SearchHandlerManagerfieldId - the Field.getId().ClauseNames associated with the provided field name. Empty collection
is returned when the field has no JQL names (i.e. no clause handlers) associated with it.@Nonnull public Collection<ClauseNames> getVisibleJqlClauseNames(ApplicationUser searcher)
SearchHandlerManagergetVisibleJqlClauseNames in interface SearchHandlerManagersearcher - that will be used to perform a permission check.ClauseNames visible to the user. Empty collection
is returned when the can see no clauses.@Nonnull public Collection<ClauseHandler> getVisibleClauseHandlers(ApplicationUser searcher)
SearchHandlerManagergetVisibleClauseHandlers in interface SearchHandlerManagersearcher - that will be used to perform a permission check.ClauseHandler visible to the user. Empty collection
is returned when the can see no clauses.@Nonnull public Collection<String> getFieldIds(ApplicationUser searcher, String jqlClauseName)
SearchHandlerManagercom.atlassian.jira.jql.permission.ClausePermissionHandler#hasPermissionToUseClause(com.atlassian.crowd.embedded.api.User)
method.getFieldIds in interface SearchHandlerManagersearcher - that will be used to perform a permission check.jqlClauseName - the clause name to find the field id for.@Nonnull public Collection<String> getFieldIds(String jqlClauseName)
SearchHandlerManagergetFieldIds in interface SearchHandlerManagerjqlClauseName - the clause name to find the field id for.@Nonnull public Collection<IssueSearcher<?>> getSearchersByClauseName(ApplicationUser user, String jqlClauseName, SearchContext searchContext)
SearchHandlerManagerIssueSearchers registered against the
passed JQL clause name. This will only return the IssueSearchers that the user has permission to see as specified
by the com.atlassian.jira.issue.search.searchers.renderer.SearchRenderer#isShown(User, com.atlassian.jira.issue.search.SearchContext)
method.getSearchersByClauseName in interface SearchHandlerManageruser - that will be used to perform a permission check.jqlClauseName - the clause name to search for.searchContext - the search context under which the searchers must be shown@Nonnull public Collection<IssueSearcher<?>> getSearchersByClauseName(ApplicationUser user, String jqlClauseName)
SearchHandlerManagerIssueSearchers registered against the
passed JQL clause name. This will only return the IssueSearchers that the user has permission to see as specified
by the com.atlassian.jira.issue.search.searchers.renderer.SearchRenderer#isShown(User, com.atlassian.jira.issue.search.SearchContext)
method.getSearchersByClauseName in interface SearchHandlerManageruser - that will be used to perform a permission check.jqlClauseName - the clause name to search for.public Collection<IssueSearcher<?>> getSearchers(ApplicationUser searcher, SearchContext context)
SearchHandlerManagercom.atlassian.jira.issue.search.searchers.IssueSearcher#getSearchRenderer()#isShown(com.atlassian.jira.issue.search.SearchContext)
method.getSearchers in interface SearchHandlerManagersearcher - performing this action.context - for the list of searchers. Must not be nullIssueSearcherpublic Collection<IssueSearcher<?>> getAllSearchers()
SearchHandlerManagergetAllSearchers in interface SearchHandlerManagerpublic Collection<SearcherGroup> getSearcherGroups(SearchContext searchContext)
SearchHandlerManagerIssueSearcher that are applicable for the context. com.atlassian.jira.issue.search.searchers.IssueSearcher#getSearchRenderer()#isShown(SearchContext) method. Note
that the SearcherGroup will still appear even if no IssueSearcher are shown for the group.getSearcherGroups in interface SearchHandlerManagersearchContext - for the searcher groups.SearcherGrouppublic Collection<SearcherGroup> getSearcherGroups()
SearchHandlerManagerSearcherGroup will
still appear even if no IssueSearcher are shown for the group.getSearcherGroups in interface SearchHandlerManagerSearcherGrouppublic IssueSearcher<?> getSearcher(String id)
SearchHandlerManagergetSearcher in interface SearchHandlerManagerid - the string identifier returned by com.atlassian.jira.issue.search.searchers.IssueSearcher#getSearchInformation()#getId()public void refresh()
SearchHandlerManagerSearchHandlerManager.refresh in interface SearchHandlerManagerCopyright © 2002-2019 Atlassian. All Rights Reserved.