Class 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
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.avro.generic.GenericRecord

        hasField
    • 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 use newBuilder().
      • 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 name
        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.
    • Method Detail

      • getClassSchema

        public static org.apache.avro.Schema getClassSchema()
      • getSpecificData

        public org.apache.avro.specific.SpecificData getSpecificData()
        Overrides:
        getSpecificData in class org.apache.avro.specific.SpecificRecordBase
      • getSchema

        public org.apache.avro.Schema getSchema()
        Specified by:
        getSchema in interface org.apache.avro.generic.GenericContainer
        Specified by:
        getSchema in class org.apache.avro.specific.SpecificRecordBase
      • get

        public java.lang.Object get​(int field$)
        Specified by:
        get in interface org.apache.avro.generic.IndexedRecord
        Specified by:
        get in class org.apache.avro.specific.SpecificRecordBase
      • put

        public void put​(int field$,
                        java.lang.Object value$)
        Specified by:
        put in interface org.apache.avro.generic.IndexedRecord
        Specified by:
        put in class org.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 interface java.io.Externalizable
        Overrides:
        writeExternal in class org.apache.avro.specific.SpecificRecordBase
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class org.apache.avro.specific.SpecificRecordBase
        Throws:
        java.io.IOException