org.apache.accumulo.core.security
Class VisibilityEvaluator

java.lang.Object
  extended by org.apache.accumulo.core.security.VisibilityEvaluator

public class VisibilityEvaluator
extends Object

A class which evaluates visibility expressions against a set of authorizations.


Constructor Summary
VisibilityEvaluator(Authorizations authorizations)
          Creates a new evaluator for the given collection of authorizations.
 
Method Summary
static byte[] escape(byte[] auth, boolean quote)
          Properly escapes an authorization string.
 boolean evaluate(ColumnVisibility visibility)
          Evaluates the given column visibility against the authorizations provided to this evaluator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VisibilityEvaluator

public VisibilityEvaluator(Authorizations authorizations)
Creates a new evaluator for the given collection of authorizations. Each authorization string is escaped before handling, and the original strings are unchanged.

Parameters:
authorizations - authorizations object
Method Detail

escape

public static byte[] escape(byte[] auth,
                            boolean quote)
Properly escapes an authorization string. The string can be quoted if desired.

Parameters:
auth - authorization string, as UTF-8 encoded bytes
quote - true to wrap escaped authorization in quotes
Returns:
escaped authorization string

evaluate

public boolean evaluate(ColumnVisibility visibility)
                 throws VisibilityParseException
Evaluates the given column visibility against the authorizations provided to this evaluator. A visibility passes evaluation if all authorizations in it are contained in those known to the evaluator, and all AND and OR subexpressions have at least two children.

Parameters:
visibility - column visibility to evaluate
Returns:
true if visibility passes evaluation
Throws:
VisibilityParseException - if an AND or OR subexpression has less than two children, or a subexpression is of an unknown type


Copyright © 2015 Apache Accumulo Project. All rights reserved.