Class JsonMetadataDomain
- Direct Known Subclasses:
ClusteringMetadataDomain,RowTrackingMetadataDomain
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:
- Annotate methods/fields with
JsonIgnoreif they should be excluded from serialization/deserialization. - Annotate constructor with
JsonCreatorto specify which constructor to use during deserialization. - Use
JsonPropertyon constructor parameters to define the JSON field names during deserialization.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract StringReturns the name of the domain.Generate aDomainMetadataaction from this metadata domain.Serializes this object into a JSON string.
-
Constructor Details
-
JsonMetadataDomain
public JsonMetadataDomain()
-
-
Method Details
-
getDomainName
Returns the name of the domain.- Returns:
- the domain name
-
toJsonConfiguration
Serializes this object into a JSON string.- Returns:
- the JSON string representation of this object
- Throws:
KernelException- if the object cannot be serialized
-
toDomainMetadata
Generate aDomainMetadataaction from this metadata domain.- Returns:
- the DomainMetadata action instance
-