Class ProjectClauseValueSanitiser
java.lang.Object
com.atlassian.jira.jql.permission.ProjectClauseValueSanitiser
- All Implemented Interfaces:
ClauseSanitiser
Sanitises clauses which have Project keys, names or ids as their values.
- Since:
- v4.0
-
Constructor Summary
ConstructorDescriptionProjectClauseValueSanitiser
(PermissionManager permissionManager, JqlOperandResolver jqlOperandResolver, NameResolver<Project> projectResolver) -
Method Summary
Modifier and TypeMethodDescriptionboolean
int
hashCode()
sanitise
(ApplicationUser user, TerminalClause clause) Important note: we are making a big assumption here that theProjectClauseValueSanitiser.ProjectOperandSanitisingVisitor
will always return the same kind of operand back after sanitising.
-
Constructor Details
-
ProjectClauseValueSanitiser
public ProjectClauseValueSanitiser(PermissionManager permissionManager, JqlOperandResolver jqlOperandResolver, NameResolver<Project> projectResolver)
-
-
Method Details
-
sanitise
Important note: we are making a big assumption here that theProjectClauseValueSanitiser.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.
- Specified by:
sanitise
in interfaceClauseSanitiser
- Parameters:
clause
- the clause to sanitiseuser
- the user performing the search- Returns:
- the sanitised clause; never null.
-
equals
-
hashCode
public int hashCode()
-