@InjectableComponent public interface

QueryCache

com.atlassian.jira.bc.issue.search.QueryCache
Known Indirect Subclasses

Class Overview

The query cache is a request level cache that stores the result of expensive query operations.

The cache is indexed with Query ApplicationUser pairs.

Summary

Public Methods
Collection<ClauseHandler> getClauseHandlers(ApplicationUser searcher, String jqlClauseName)
Retrieve the collection of ClauseHandlers registered for the ApplicationUser jqlClauseName pair.
Boolean getDoesQueryFitFilterFormCache(ApplicationUser searcher, Query query)
Retrieve the result of the last doesQueryFitFiterForm operation in the current thread.
QueryContext getQueryContextCache(ApplicationUser searcher, Query query)
Retrieve the result of the last getQueryContext operation in the current thread for the ApplicationUser Query pair.
QueryContext getSimpleQueryContextCache(ApplicationUser searcher, Query query)
Retrieve the result of the last getSimpleQueryContext operation in the current thread for the ApplicationUser Query pair.
List<QueryLiteral> getValues(QueryCreationContext context, Operand operand, TerminalClause jqlClause)
Retrieve the list of QueryLiterals registered for the QueryCreationContext Operand jqlClause triplet.
void setClauseHandlers(ApplicationUser searcher, String jqlClauseName, Collection<ClauseHandler> clauseHandlers)
Set the cached result of a getSimpleQueryContext operation on the ApplicationUser Query pair.
void setDoesQueryFitFilterFormCache(ApplicationUser searcher, Query query, boolean doesItFit)
Set the cached result of a doesQueryFitFiterForm operation on the ApplicationUser Query pair.
void setQueryContextCache(ApplicationUser searcher, Query query, QueryContext queryContext)
Set the cached result of a getQueryContext operation on the ApplicationUser Query pair.
void setSimpleQueryContextCache(ApplicationUser searcher, Query query, QueryContext queryContext)
Set the cached result of a getSimpleQueryContext operation on the ApplicationUser Query pair.
void setValues(QueryCreationContext context, Operand operand, TerminalClause jqlClause, List<QueryLiteral> values)
Set the cached result of a getValues operation on the for the QueryCreationContext Operand jqlClause triplet.

Public Methods

public Collection<ClauseHandler> getClauseHandlers (ApplicationUser searcher, String jqlClauseName)

Retrieve the collection of ClauseHandlers registered for the ApplicationUser jqlClauseName pair.

Parameters
searcher the user who is performing the search
jqlClauseName the jQLClauseName for which to find the result for; cannot be null.
Returns

public Boolean getDoesQueryFitFilterFormCache (ApplicationUser searcher, Query query)

Retrieve the result of the last doesQueryFitFiterForm operation in the current thread. for the ApplicationUser Query pair.

Parameters
searcher the user who is performing the search
query the query for which to find the result for; cannot be null.
Returns
  • the last result of the doesQueryFitFiterForm operation for the ApplicationUser Query pair in the current thread, or null if the operation has yet to be performed.

public QueryContext getQueryContextCache (ApplicationUser searcher, Query query)

Retrieve the result of the last getQueryContext operation in the current thread for the ApplicationUser Query pair.

Parameters
searcher the user who is performing the search
query the query for which to find the result for; cannot be null.
Returns
  • the last result of the getQueryContext operation for the ApplicationUser Query pair in the current thread, or null if the operation has yet to be performed.

public QueryContext getSimpleQueryContextCache (ApplicationUser searcher, Query query)

Retrieve the result of the last getSimpleQueryContext operation in the current thread for the ApplicationUser Query pair.

Parameters
searcher the user who is performing the search
query the query for which to find the result for; cannot be null.
Returns
  • the last result of the getSimpleQueryContext operation for the ApplicationUser Query pair in the current thread, or null if the operation has yet to be performed.

public List<QueryLiteral> getValues (QueryCreationContext context, Operand operand, TerminalClause jqlClause)

Retrieve the list of QueryLiterals registered for the QueryCreationContext Operand jqlClause triplet.

Parameters
context the query context of the search, which cannot be null.
operand the Operand which cannot be null
jqlClause the jQLClause for which to find the result for; cannot be null.
Returns

public void setClauseHandlers (ApplicationUser searcher, String jqlClauseName, Collection<ClauseHandler> clauseHandlers)

Set the cached result of a getSimpleQueryContext operation on the ApplicationUser Query pair. The cache result is only held for the current thread.

Parameters
searcher the user who is performing the search
jqlClauseName the jQLClauseName for which to store the result under; cannot be null.
clauseHandlers the collection of ClauseHandlers ApplicationUser ClauseHandler

public void setDoesQueryFitFilterFormCache (ApplicationUser searcher, Query query, boolean doesItFit)

Set the cached result of a doesQueryFitFiterForm operation on the ApplicationUser Query pair. The cache result is only held for the current thread.

Parameters
searcher the user who is performing the search
query the query for which to store the result under; cannot be null
doesItFit the result of a doesSearchRequestFitNavigator operation for the. ApplicationUser Query

public void setQueryContextCache (ApplicationUser searcher, Query query, QueryContext queryContext)

Set the cached result of a getQueryContext operation on the ApplicationUser Query pair. The cache result is only held for the current thread.

Parameters
searcher the user who is performing the search
query the query for which to store the result under; cannot be null.
queryContext the queryContext result to store ApplicationUser Query

public void setSimpleQueryContextCache (ApplicationUser searcher, Query query, QueryContext queryContext)

Set the cached result of a getSimpleQueryContext operation on the ApplicationUser Query pair. The cache result is only held for the current thread.

Parameters
searcher the user who is performing the search
query the query for which to store the result under; cannot be null.
queryContext the querySimpleContext result to store ApplicationUser Query

public void setValues (QueryCreationContext context, Operand operand, TerminalClause jqlClause, List<QueryLiteral> values)

Set the cached result of a getValues operation on the for the QueryCreationContext Operand jqlClause triplet. The cache result is only held for the current thread.

Parameters
context the query context the search is being performed in
operand the Operand which cannot be null
jqlClause the jQLClause for which to store the result under; cannot be null.
values the collection of QueryLiterals