Skip to content

tedcolvin/treexl

Repository files navigation

Treexl - Tree extensible expression language

Introduction

Treexl is a general purpose expression language designed for embedding in applications or frameworks that need a simple language define custom rules without recompilation.

Features

  • inspired by the expression subset of SQL (the 'where part'), being easy to learn
  • parse to expression trees, not to a direct executable format, so it can be:
    • validated
    • transformed
    • analyzed

Use cases

Filter language

Then main use case for Treexl is to be used to filter APIs in a portable, secure, efficient and flexible way.

Consider a REST or GraphQL API that return a large collection of elements that need some sort filtering. Normaly that would need some additional parameters to control the filteria criteria/condition. The problem is that leads to some sort of custom "ad-hoc", half-baked solution that is difficult to implement and not powerfull enough.

With Treexl is possible to support a large (safe) subset o 'SQL where', including the ability to generate the actual 'SQL where' expression that is sent to the database, avoiding gotchas like SQL Injection without compromising the performance of database native queries.

License

Apache 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages