A Java Resource Query Language (RQL) parser. For an explanation of RQL please see https://github.com/persvr/rql
The parser generates an ASTNode object representing the root node of an Abstract Syntax Tree (AST). Create a class that implements ASTVisitor<R,A> in order to traverse the tree.
RQLParser parser = new RQLParser();
MyVisitor visitor = new MyVisitor();
ASTNode node = parser.parse("(name=jack|name=jill)&age>30");
Object result = node.accept(visitor);
See the ListFilter class, which is an ASTVisitor which filters a list of bean objects.
<dependency>
<groupId>net.jazdw</groupId>
<artifactId>rql-parser</artifactId>
<version>0.3.1</version>
</dependency>