Annotations
com.s8.meta.api.annotations
S8 discovers structure from annotations on your types. This is the persistency and front contract.
Catalog
| Annotation | Target | Members |
|---|---|---|
@S8ObjectType | TYPE | name(), sub() |
@S8Field | FIELD | name(), export() |
@S8Getter / @S8Setter | METHOD / FIELD | name() (getter also export) |
@S8Method | METHOD | name(), flow(), props(), mask() |
@S8Param | PARAMETER | name(), flow(), props(), mask() |
@S8RowType | TYPE | name() — fixed storage; evolve via a new type |
@S8Serial | FIELD | marker |
@S8SerialType | TYPE | name(), sub() |
Intent The name you put in the annotation is the wire name. Keep it stable. Rename Java identifiers freely; do not rename wire names without a migration.