Class StoreMetadataKey
- java.lang.Object
-
- org.apache.avro.specific.SpecificRecordBase
-
- com.linkedin.venice.meta.systemstore.schemas.StoreMetadataKey
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.Comparable<org.apache.avro.specific.SpecificRecord>
,org.apache.avro.generic.GenericContainer
,org.apache.avro.generic.GenericRecord
,org.apache.avro.generic.IndexedRecord
,org.apache.avro.specific.SpecificRecord
public class StoreMetadataKey extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
A composite key that divides the key space to retrieve different types of metadata for a Venice store. StoreAttributes and TargetVersionStates are global properties therefore shouldn't have cluster and fabric names in the keyStrings array. In contrast, CurrentStoreStates and CurrentVersionStates are cluster and fabric specific states that's identified with corresponding cluster and fabric names in the keyStrings array.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description java.util.List<java.lang.CharSequence>
keyStrings
An array of Strings to identify the record and create different key spaces within the same metadataType (e.g.int
metadataType
An integer (mapped to Enums) specifying the metadata type of the record.static org.apache.avro.Schema
SCHEMA$
-
Constructor Summary
Constructors Constructor Description StoreMetadataKey()
Default constructor.StoreMetadataKey(java.util.List<java.lang.CharSequence> keyStrings, java.lang.Integer metadataType)
All-args constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
get(int field$)
static org.apache.avro.Schema
getClassSchema()
java.util.List<java.lang.CharSequence>
getKeyStrings()
Gets the value of the 'keyStrings' field.int
getMetadataType()
Gets the value of the 'metadataType' field.org.apache.avro.Schema
getSchema()
org.apache.avro.specific.SpecificData
getSpecificData()
void
put(int field$, java.lang.Object value$)
void
readExternal(java.io.ObjectInput in)
void
setKeyStrings(java.util.List<java.lang.CharSequence> value)
Sets the value of the 'keyStrings' field.void
setMetadataType(int value)
Sets the value of the 'metadataType' field.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
-
-
-
-
Field Detail
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$
-
keyStrings
public java.util.List<java.lang.CharSequence> keyStrings
An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name
-
metadataType
public int metadataType
An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.
-
-
Constructor Detail
-
StoreMetadataKey
public StoreMetadataKey()
Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder()
.
-
StoreMetadataKey
public StoreMetadataKey(java.util.List<java.lang.CharSequence> keyStrings, java.lang.Integer metadataType)
All-args constructor.- Parameters:
keyStrings
- An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric namemetadataType
- An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.
-
-
Method Detail
-
getClassSchema
public static org.apache.avro.Schema getClassSchema()
-
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()
- Overrides:
getSpecificData
in classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()
- Specified by:
getSchema
in interfaceorg.apache.avro.generic.GenericContainer
- Specified by:
getSchema
in classorg.apache.avro.specific.SpecificRecordBase
-
get
public java.lang.Object get(int field$)
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getKeyStrings
public java.util.List<java.lang.CharSequence> getKeyStrings()
Gets the value of the 'keyStrings' field.- Returns:
- An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name
-
setKeyStrings
public void setKeyStrings(java.util.List<java.lang.CharSequence> value)
Sets the value of the 'keyStrings' field. An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name- Parameters:
value
- the value to set.
-
getMetadataType
public int getMetadataType()
Gets the value of the 'metadataType' field.- Returns:
- An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.
-
setMetadataType
public void setMetadataType(int value)
Sets the value of the 'metadataType' field. An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.- Parameters:
value
- the value to set.
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
-