|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.accumulo.core.security.ColumnVisibility
public class ColumnVisibility
Validate the column visibility is a valid expression and set the visibility for a Mutation. See ColumnVisibility(byte[])
for the
definition of an expression.
The expression is a sequence of characters from the set [A-Za-z0-9_-.] along with the binary operators "&" and "|" indicating that both operands are necessary, or the either is necessary. The following are valid expressions for visibility:
A A|B (A|B)&(C|D) orange|(red&yellow)
The following are not valid expressions for visibility:
A|B&C A=B A|B| A&|B () ) dog|!cat
In addition to the base set of visibilities, any character can be used in the expression if it is quoted. If the quoted term contains '"' or '\', then
escape the character with '\'. The quote(String)
method can be used to properly quote and escape terms automatically. The following is an example of
a quoted term:
"A#C"&B
Nested Class Summary | |
---|---|
static class |
ColumnVisibility.Node
A node in the parse tree for a visibility expression. |
static class |
ColumnVisibility.NodeComparator
A node comparator. |
static class |
ColumnVisibility.NodeType
The node types in a parse tree for a visibility expression. |
Constructor Summary | |
---|---|
ColumnVisibility()
Creates an empty visibility. |
|
ColumnVisibility(byte[] expression)
Creates a column visibility for a Mutation from a string already encoded in UTF-8 bytes. |
|
ColumnVisibility(String expression)
Creates a column visibility for a Mutation. |
|
ColumnVisibility(org.apache.hadoop.io.Text expression)
Creates a column visibility for a Mutation. |
Method Summary | |
---|---|
boolean |
equals(ColumnVisibility otherLe)
Compares two ColumnVisibilities for string equivalence, not as a meaningful comparison of terms and conditions. |
boolean |
equals(Object obj)
See equals(ColumnVisibility) |
byte[] |
flatten()
Generates a byte[] that represents a normalized, but logically equivalent, form of this evaluator's expression. |
byte[] |
getExpression()
Accessor for the underlying byte string. |
ColumnVisibility.Node |
getParseTree()
Gets the parse tree for this column visibility. |
int |
hashCode()
|
static ColumnVisibility.Node |
normalize(ColumnVisibility.Node root,
byte[] expression)
|
static ColumnVisibility.Node |
normalize(ColumnVisibility.Node root,
byte[] expression,
ColumnVisibility.NodeComparator comparator)
|
static byte[] |
quote(byte[] term)
Properly quotes terms in a column visibility expression. |
static String |
quote(String term)
Properly quotes terms in a column visibility expression. |
static void |
stringify(ColumnVisibility.Node root,
byte[] expression,
StringBuilder out)
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ColumnVisibility()
ColumnVisibility(String)
public ColumnVisibility(String expression)
expression
- An expression of the rights needed to see this mutation. The expression syntax is defined at the class-level documentationpublic ColumnVisibility(org.apache.hadoop.io.Text expression)
expression
- visibility expressionColumnVisibility(String)
public ColumnVisibility(byte[] expression)
expression
- visibility expression, encoded as UTF-8 bytesColumnVisibility(String)
Method Detail |
---|
public byte[] getExpression()
public static ColumnVisibility.Node normalize(ColumnVisibility.Node root, byte[] expression)
public static ColumnVisibility.Node normalize(ColumnVisibility.Node root, byte[] expression, ColumnVisibility.NodeComparator comparator)
public static void stringify(ColumnVisibility.Node root, byte[] expression, StringBuilder out)
public byte[] flatten()
public String toString()
toString
in class Object
public boolean equals(Object obj)
equals(ColumnVisibility)
equals
in class Object
public boolean equals(ColumnVisibility otherLe)
otherLe
- other column visibility
public int hashCode()
hashCode
in class Object
public ColumnVisibility.Node getParseTree()
public static String quote(String term)
Examples of using quote :
import static org.apache.accumulo.core.security.ColumnVisibility.quote; . . . ColumnVisibility cv = new ColumnVisibility(quote("A#C") + "&" + quote("FOO"));
term
- term to quote
public static byte[] quote(byte[] term)
term
- term to quote, encoded as UTF-8 bytes
quote(String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |