# io.github.libtmux.query.Fields.Fields

- **Module:** io.github.libtmux.query.Fields
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/c3517519ee799428a809ce6deb1708c8be289cd1/libtmux/src/main/java/io/github/libtmux/query/Fields.java#L20
- **Page:** https://libtmux.org/reference/java/io-github-libtmux-query-fields-fields/

Typed field handles.

<p>A caller supplies each accessor, so no backend may trust the name without matching this exact
handle against a model it owns.

<p>Each kind exposes only the operators its type supports, so {@code Pane_.index().startsWith(..)}
is a compile error rather than a runtime class cast. This is the half of the metamodel that has to
exist by hand or by generator; the generator only writes the accessors, never the semantics.

## Members

- `text` (method)
- `number` (method)
- `flag` (method)
- `toMany` (method)
- `toOne` (method)
- `TextField` (struct) — String-valued field.
- `NumberField` (struct) — Integer-valued field. No text operators reach it.
- `FlagField` (struct) — Boolean-valued field.
- `ToManyRef` (class) — To-many relation. Quantifiers are the only way in, so an unquantified relation cannot compile.
- `ToOneRef` (class) — To-one relation.
