public class

ProjectClauseValueSanitiser

extends Object
implements ClauseSanitiser
java.lang.Object
   ↳ com.atlassian.jira.jql.permission.ProjectClauseValueSanitiser

Class Overview

Sanitises clauses which have Project keys, names or ids as their values.

Summary

Public Constructors
ProjectClauseValueSanitiser(PermissionManager permissionManager, JqlOperandResolver jqlOperandResolver, NameResolver<Project> projectResolver)
Public Methods
boolean equals(Object o)
int hashCode()
Clause sanitise(ApplicationUser user, TerminalClause clause)
Important note: we are making a big assumption here that the com.atlassian.jira.jql.permission.ProjectClauseValueSanitiser.ProjectOperandSanitisingVisitor will always return the same kind of operand back after sanitising.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.jql.permission.ClauseSanitiser

Public Constructors

public ProjectClauseValueSanitiser (PermissionManager permissionManager, JqlOperandResolver jqlOperandResolver, NameResolver<Project> projectResolver)

Public Methods

public boolean equals (Object o)

public int hashCode ()

public Clause sanitise (ApplicationUser user, TerminalClause clause)

Important note: we are making a big assumption here that the com.atlassian.jira.jql.permission.ProjectClauseValueSanitiser.ProjectOperandSanitisingVisitor will always return the same kind of operand back after sanitising. This is because project literals can never expand to more than one index value for a named literal. Therefore, the multiplicity of the operand does not change after sanitising. Because of this, we blindly reuse the original operator from the input clause.

If this assumption ever changes, we will need to revisit this code.

Parameters
user the user performing the search
clause the clause to sanitise
Returns
  • the sanitised clause; never null.