Interface PartitionAttributes


  • public interface PartitionAttributes
    Provide a way to describe a partition using a collection of of attributes. Typically only a single type of any particular PartitionAttributes.Key exists in each PartitionAttributes. For example:
     { [Key(shard) = "shard X"], [Key(data center) = "data center X"], [Key(is main) = "false/true"] }
     
    This construct allows for the attributes to partially specify a partition and preform "wild card" type matching.
    • Method Detail

      • get

        @Nullable
        <T> T get​(PartitionAttributes.Key<T> key)
        Get the value associated with key.
        Type Parameters:
        T - The expected value type associated with key.
        Parameters:
        key - The key to lookup.
        Returns:
        the value associated with key, or null.
      • contains

        default <T> boolean contains​(PartitionAttributes.Key<T> key)
        Determine if there is a value associated with key.
        Type Parameters:
        T - The expected value type associated with key.
        Parameters:
        key - The key to check if there is any associated value for.
        Returns:
        true if there is a value associated with key.
      • forEach

        void forEach​(java.util.function.BiConsumer<PartitionAttributes.Key,​java.lang.Object> action)
        Iterate over the key/value pairs in this collection.
        Parameters:
        action - Invoked for each key/value pair in this collection.
      • size

        int size()
        Determine how many key/value pairs are contained in this collection.
        Returns:
        the number of key/value pairs are contained in this collection.
      • isEmpty

        boolean isEmpty()
        Determine if there are no key/value pairs in this collection.
        Returns:
        true if there are no key/value pairs in this collection.