public abstract class JsonMetadataDomain
extends Object
RowTrackingMetadataDomain, should extend
this class to define a specific metadata domain.
A metadata domain differs from DomainMetadata: DomainMetadata represents an
action that modifies the table's state by updating the configuration of a named metadata domain.
A metadata domain is a named domain used to organize configurations related to a specific table
feature.
For example, the row tracking feature uses a RowTrackingMetadataDomain to store the
highest assigned fresh row id of the table. When updated, the row tracking feature creates and
commits a new DomainMetadata action to reflect the change.
Serialization and deserialization are handled using Jackson's annotations. By default, all public fields and getters are included in the serialization. When creating subclasses, ensure that all fields to be serialized are accessible either through public fields or getters.
To control this behavior:
JsonIgnore if they should be excluded from
serialization/deserialization.
JsonCreator to specify which constructor to use during
deserialization.
JsonProperty on constructor parameters to define the JSON field names during
deserialization.
| Constructor and Description |
|---|
JsonMetadataDomain() |
| Modifier and Type | Method and Description |
|---|---|
abstract String |
getDomainName()
Returns the name of the domain.
|
DomainMetadata |
toDomainMetadata()
Generate a
DomainMetadata action from this metadata domain. |
String |
toJsonConfiguration()
Serializes this object into a JSON string.
|
public abstract String getDomainName()
public String toJsonConfiguration()
KernelException - if the object cannot be serializedpublic DomainMetadata toDomainMetadata()
DomainMetadata action from this metadata domain.