Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Query and Criteria APIs with library support #209

Open
eawagner opened this issue Dec 15, 2016 · 1 comment
Open

Replace Query and Criteria APIs with library support #209

eawagner opened this issue Dec 15, 2016 · 1 comment

Comments

@eawagner
Copy link
Member

There are a number of libraries out there that provide a lot of the same functionality of the query and criteria APIs.

That being said, we should probably pick which library support we should use.

I am impartial to JEXL because it provides a very rich AST for representing queries and a very flexible evaluation engine. That being said, it is very very complex in some instances.

Alternatives could also include:

  • Javaluator
  • MVEL
  • JUEL

If we chose one we need to distinguish between the definition of a query VS the evaluation of a query. We can use different libraries for each.

@eawagner
Copy link
Member Author

Since having written this, I would suggest looking into using one of the following depending on your use case.

JEXL - java style syntax, with feature rich AST for developing against.
Lucene - More use friendly syntax and compatible with lots of popular systems (ElasticSearch, Solr, etc). More complicated AST to work with however.
Calcite - SQL syntax support and very feature rich AST. Most complicated than the others but much more feature rich set of capabilities for defining queries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant