@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(String jqlClauseName)
Return a collection of
ClauseHandlers registered against the passed JQL clause
name. |
Collection<ClauseHandler> |
getClauseHandler(com.atlassian.crowd.embedded.api.User user,
String jqlClauseName)
Return a collection of
ClauseHandlers registered against the passed JQL clause
name. |
Collection<String> |
getFieldIds(String jqlClauseName)
Gets the field ids that are associated with the provided jqlClauseName.
|
Collection<String> |
getFieldIds(com.atlassian.crowd.embedded.api.User searcher,
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(com.atlassian.crowd.embedded.api.User searcher,
SearchContext context)
Get searchers that are applicable for a given context.
|
Collection<IssueSearcher<?>> |
getSearchersByClauseName(com.atlassian.crowd.embedded.api.User user,
String jqlClauseName)
Return a collection of
IssueSearchers registered against the
passed JQL clause name. |
Collection<IssueSearcher<?>> |
getSearchersByClauseName(com.atlassian.crowd.embedded.api.User user,
String jqlClauseName,
SearchContext searchContext)
Return a collection of
IssueSearchers registered against the
passed JQL clause name. |
Collection<ClauseHandler> |
getVisibleClauseHandlers(com.atlassian.crowd.embedded.api.User searcher)
Get all the available clause handlers that the searcher can see.
|
Collection<ClauseNames> |
getVisibleJqlClauseNames(com.atlassian.crowd.embedded.api.User searcher)
Get all the available clause names that the searcher can see.
|
void |
onClearCache(ClearCacheEvent event) |
void |
onPluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event) |
void |
onPluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent 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 onPluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)
@EventListener public void onPluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)
@Nonnull public Collection<ClauseHandler> getClauseHandler(com.atlassian.crowd.embedded.api.User 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 ClausePermissionChecker.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(com.atlassian.crowd.embedded.api.User 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(com.atlassian.crowd.embedded.api.User 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(com.atlassian.crowd.embedded.api.User searcher, String jqlClauseName)
SearchHandlerManagerClausePermissionChecker.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(com.atlassian.crowd.embedded.api.User 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 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(com.atlassian.crowd.embedded.api.User 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 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(com.atlassian.crowd.embedded.api.User 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-2015 Atlassian. All Rights Reserved.