sequeless-filter is a standalone human-facing query language: a text DSL
that parses to a FilterNode AST, a serializer that renders an AST back to canonical DSL
text with a round-trip guarantee, pluggable operator and field registries, and completion
utilities for building an interactive query UI. It has no runtime dependency on any storage
or query engine — a consumer resolves the parsed AST against whatever backend it owns.
lineItems.qty > 5 and status is 'shipped'
any contains 'urgent'
createdAt meets between('2024-01-01', '2024-02-01')
status is in ['open', 'pending'] and (region is 'us' or region is 'eu')
See docs/filter-dsl.md for the full grammar, operator set, serialization rules, and completion behavior.
Requires JDK 21.
<dependency>
<groupId>org.sequeless</groupId>
<artifactId>filter-core</artifactId>
<version>0.0.0-SNAPSHOT</version>
</dependency>| Module | Coordinates | Contents |
|---|---|---|
filter-core |
org.sequeless:filter-core |
The DSL: AST model, ANTLR 4 grammar and parser, serializer, operator and field registries, completion utilities. |
filter-sql-adapter |
org.sequeless:filter-sql-adapter |
Translates a parsed FilterNode AST into raw, parameterized SQL via a hexagonal QueryBuilder vendor port. See docs/sql-adapter.md. |
The repository root is a pom-packaged aggregator/parent (org.sequeless:sequeless-filter) that
ships no code — it holds the single shared version, dependency management, and build plugins. All
modules are released together from that one version.
make verify # full build + tests + quality gates (Spotless, Enforcer, ArchUnit)
make test # fast unit tests only
make fmt # apply formatting (Spotless / Palantir Java Format)make verify wraps ./mvnw -B verify; the Maven wrapper is committed, so no local Maven
install is required.
- Filter DSL reference — grammar, operators, serialization, completion.
- SQL adapter — translating a
FilterNodeAST into parameterized SQL. - Architecture decisions live under
docs/adr/.
See CONTRIBUTING.md.