public final class TableModel extends Object
SchemaModel.
Plan §6. properties() is the vendor-extension escape hatch
(per plan R6 / Q15) that carries adapter-specific metadata (Hive table
properties, Iceberg snapshot id, OpenMetadata tags, etc.) until a field
earns promotion to a typed accessor.
Property values held in the map are frozen on build at one level of
depth: List values are wrapped via Collections.unmodifiableList(java.util.List<? extends T>),
Map values via Collections.unmodifiableMap(java.util.Map<? extends K, ? extends V>). Adapters that
stash deeper nested mutable structures (e.g. a List<Map<...>> whose
inner maps remain mutable) are still expected to supply value objects that
are themselves immutable; the model does not deep-copy.
| Modifier and Type | Class and Description |
|---|---|
static class |
TableModel.Builder |
| Modifier and Type | Method and Description |
|---|---|
static TableModel.Builder |
builder() |
List<ColumnModel> |
columns() |
List<ConstraintModel> |
constraints() |
boolean |
equals(Object o) |
int |
hashCode() |
List<IndexModel> |
indexes() |
String |
name() |
Map<String,Object> |
properties() |
String |
toString() |
public static TableModel.Builder builder()
public List<ColumnModel> columns()
public List<ConstraintModel> constraints()
public List<IndexModel> indexes()
public Map<String,Object> properties()