This project was a training exercise for creating fluent interfaces and using object oriented paradigm to write boolean expressions in a more natural approach.
You create boolean filters that evaluate a specific type (using generics) and decide whether it should be accepted within a specific
... [More] context. It offers a more generic approach as java.io.FileFilter, offering to evaluate any type.
With this fluent interface you create expression like this (an example of an implementation of the XOR expression):
boolFilter = expFilter.start(falseFilter).and().not(falseFilter).or().not(falseFilter).and(falseFilter).build(); [Less]
Booleano is an interpreter of boolean expressions, a library to define and run filters available as text (e.g., in a natural language) or in Python code.
In order to handle text-based filters, Booleano ships with a fully-featured parser whose grammar is adaptive: Its properties can be overridden
... [More] using simple configuration directives.
On the other hand, the library exposes a pythonic API for filters written in pure Python. These filters are particularly useful to build reusable conditions from objects provided by a third party library. [Less]