# io.github.libtmux.jackson.FilterJson.FilterJson

- **Module:** io.github.libtmux.jackson.FilterJson
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/c3517519ee799428a809ce6deb1708c8be289cd1/libtmux-jackson/src/main/java/io/github/libtmux/jackson/FilterJson.java#L29
- **Page:** https://libtmux.org/reference/java/io-github-libtmux-jackson-filterjson-filterjson/

The versioned wire form of a filter expression.

<p>Writing and reading both require a model. Expressions hold executable accessors and navigators,
while documents carry only their ids; the model is the authority that binds one to the other.
Regex operands retain {@link java.util.regex.Pattern} syntax and flag bits.

<p>Everything unrecognised fails. An expression read wrongly does not announce itself — it
silently matches the wrong things, and a caller who wanted a filter gets one, just not theirs.

## Members

- `SCHEMA` (attribute) — The schema this version reads and writes. Immutable once published.
- `write` (method) — Writes an expression as a document for the model that declared all of its fields and relations.
- `writeString` (method) — Writes an expression as compact JSON text.
- `read` (method) — Reads a document back as an expression over the given model.
- `readString` (method) — Reads a document from JSON text.
