@Internal public class

MultiClauseDecoratorContextFactory

extends Object
implements ClauseContextFactory
java.lang.Object
   ↳ com.atlassian.jira.jql.context.MultiClauseDecoratorContextFactory

@Internal

This class is an internal implementation detail and will change without notice.

Clients that depend on @Internal classes and interfaces can not expect to be compatible with any version other than the version they were compiled against (even minor version and milestone releases may break binary compatibility with respect to @Internal elements).

Class Overview

Decorates a ClauseContextFactory to ensure that:

 context(k in (a, b, c)) <=> context(k = a or k = b or k = c)
 context(k not in (a, b, c)) <=> context(k != a and k != b and k != c)
 
It does this by intercepting calls to getClauseContext(User, com.atlassian.query.clause.TerminalClause) with a terminal clause that contains the IN or NOT_IN operator and converts it into equivalent multiple calls to the delegate factory.

Summary

Nested Classes
class MultiClauseDecoratorContextFactory.Factory Factory to create a MultiClauseDecoratorContextFactory given a ClauseContextFactory to wrap. 
Public Constructors
MultiClauseDecoratorContextFactory(JqlOperandResolver jqlOperandResolver, ClauseContextFactory delegate)
MultiClauseDecoratorContextFactory(JqlOperandResolver jqlOperandResolver, ClauseContextFactory delegate, ContextSetUtil contextSetUtil)
Public Methods
final ClauseContext getClauseContext(User searcher, TerminalClause terminalClause)
Generates a clause context for the associated handler.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.jql.context.ClauseContextFactory

Public Constructors

public MultiClauseDecoratorContextFactory (JqlOperandResolver jqlOperandResolver, ClauseContextFactory delegate)

public MultiClauseDecoratorContextFactory (JqlOperandResolver jqlOperandResolver, ClauseContextFactory delegate, ContextSetUtil contextSetUtil)

Public Methods

public final ClauseContext getClauseContext (User searcher, TerminalClause terminalClause)

Generates a clause context for the associated handler. If the clause context could not be determined for any reason, this will return the Global Clause Context.

Parameters
searcher the user who is performing the search
terminalClause the clause for which this factory is generating a context.
Returns
  • ClauseContext that contains the implied and explicit project and issue types that this clause is in context for.