Module storm.foundation
Package st.orm
Interface TypedMetamodel<T extends Data,E,V extends @Nullable Object>
- Type Parameters:
T- the root table type.E- the field type.V- the declared component type, possibly nullable.
- All Known Implementing Classes:
AbstractKeyMetamodel,AbstractMetamodel
A
Metamodel that also carries the declared component type of the field it represents.
The component type parameter V reflects how the field is declared on the record: for eagerly fetched
fields, V equals the field type E; for Ref fields, V is Ref<E>. APIs bind
both parameters to the same type variable to require an eagerly fetched path at compile time, for example
TypedMetamodel<T, V, V>.
V admits nullable arguments: the generated nullable metamodel chain binds it to the nullable form of
the component type, carrying the field's nullability in the type.
The metamodels generated for record fields implement this interface via AbstractMetamodel.
- Since:
- 1.13
-
Nested Class Summary
Nested classes/interfaces inherited from interface st.orm.Metamodel
Metamodel.Key<T extends Data,E>, Metamodel.KeyDelegate<T extends Data, E> -
Method Summary
Methods inherited from interface st.orm.Metamodel
isIdentical, isSame, table
-
Method Details
-
getValue
Extracts the value of the field represented by this metamodel from the given record, typed as the declared component type: the field type itself for eagerly fetched fields,Ref<E>forReffields.
-