Separate API and impl (#91) Implemented java module feature. Moved impl classes to their own package. Closes #81
Java library that provides the same functionality, semantics, and syntax as the Apache Accumulo ColumnVisibility and VisibilityEvaluator classes. This functionality is provided in a standalone java library that has no dependencies (for example no Hadoop, Zookeeper, Thrift, etc dependencies).
For a conceptual overview of what an access expression is, see the specification document. See the Getting Started section for an example of how to use this java library.
The following types constitute the public API of this library. All other types are package private and are not part of the public API.
Add the library to your CLASSPATH. For Maven, use:
<dependencies> <dependency> <groupId>org.apache.accumulo</groupId> <artifactId>accumulo-access</artifactId> <version>${version.accumulo-access}</version> </dependency> </dependencies>
To run AccessExample
mvn clean package java --module-path=$(ls target/accumulo-access-*.jar) --add-modules=accumulo.access src/test/java/example/AccessExample.java java --module-path=$(ls target/accumulo-access-*.jar) --add-modules=accumulo.access src/test/java/example/AccessExample.java RED BLUE
Note that data6 is always returned, because it has no access expression. And remember, authorizations are case-sensitive.
To run ParseExamples
mvn clean package java --module-path=$(ls target/accumulo-access-*.jar) --add-modules=accumulo.access src/test/java/example/ParseExamples.java
For an ANTLRv4 example, see antlr-example integration test's README.
This project includes a JMH Benchmark. To run it:
mvn clean verify -Pbenchmark