This is an automated email from the ASF dual-hosted git repository.
dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-access.git
The following commit(s) were added to refs/heads/main by this push:
new 4aa573a Add javadoc about AccessExpression normalization (#77)
4aa573a is described below
commit 4aa573a55ecd289a8522cfd17cb100061f1f1f9b
Author: Dave Marion <[email protected]>
AuthorDate: Mon Jul 8 17:01:20 2024 -0400
Add javadoc about AccessExpression normalization (#77)
Co-authored-by: Dom G. <[email protected]>
---
src/main/java/org/apache/accumulo/access/AccessExpression.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/main/java/org/apache/accumulo/access/AccessExpression.java
b/src/main/java/org/apache/accumulo/access/AccessExpression.java
index 2308bd8..6bb48e1 100644
--- a/src/main/java/org/apache/accumulo/access/AccessExpression.java
+++ b/src/main/java/org/apache/accumulo/access/AccessExpression.java
@@ -25,6 +25,14 @@ import java.io.Serializable;
* of this class should wrap an immutable, validated access expression. If
passing access
* expressions as arguments in code, consider using this type instead of a
String. The advantage of
* passing this type over a String is that its known to be a valid expression.
+ * <p>
+ * Normalization removes duplicates, sorts, flattens, and removes unneeded
parentheses or quotes in
+ * the expression. Normalization is an optional process that the user can
choose to apply when
+ * constructing an AccessExpression. The AccessEvaluator has the ability to
short-circuit
+ * evaluation, for example when the left hand side of an OR expression is
valid, then it won't need
+ * to evaluate the right side. The user may not want to perform normalization
if they are
+ * constructing their AccessExpressions to take advantage of short-circuit
feature as it could
+ * re-order the tokens or predicates in the expression.
*
* <p>
* Below is an example of how to use this API.