Feature: read_only
Table of Contents
This page is one authored MASD feature in ORE Studio Variability Model § "Projection configuration: how an existing artefact family is shaped". Any profile that fixes this feature's value links here rather than restating its effect.
1. Identity
| Field | Value |
|---|---|
| Literal name | :read_only: |
| Bundle | structural (Keys and columns) |
| Type | bool |
| Default | false |
2. Effect
The table is provisioned outside the application, so the generated code
offers no way to write it. org_loader.py folds the value into
wire_write_enabled, and the protocol derivation drops every message whose
name starts with a write prefix and every write-only record. The result on
the wire is list, get and get_many, and nothing else. There is no
put_, no delete_, and no create or removal record.
The entity keeps its reads and its version reads where the table has them.
A read-only bitemporal entity still answers list_*_versions and
get_*_version, because those are reads.
The flag is authored at the entity root, in the * Flags drawer, alongside
:has_tenant_id:. :client_read_only: is the junction-only relative: it
leaves the repository writable for a server-side producer and suppresses
only the verbs a client reaches. The loader rejects :client_read_only: on
a domain_entity and directs the model to this feature instead.
3. Structural consequence
None. No column, member or class appears or disappears. The value suppresses messages in the protocol and the handler, which is behaviour rather than shape.
4. Used by
5. See also
- current_state — the table shape this feature is usually paired with.
- ORE Studio Variability Model — the bundle this feature belongs to.