Package io.grpc

Class Attributes


  • @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1764")
    @Immutable
    public final class Attributes
    extends java.lang.Object
    An immutable type-safe container of attributes.

    Annotation semantics

    As a convention, annotations such as Grpc.TransportAttr is defined to associate attribute Attributes.Keys and their propagation paths. The annotation may be applied to a Key definition field, a method that returns Attributes, or a variable of type Attributes, to indicate that the annotated Attributes objects may contain the annotated Key.

    Javadoc users may click "USE" on the navigation bars of the annotation's javadoc page to view references of such annotation.

    Since:
    1.13.0
    • Method Detail

      • get

        @Nullable
        public <T> T get​(Attributes.Key<T> key)
        Gets the value for the key, or null if it's not present.
      • keys

        @Deprecated
        public java.util.Set<Attributes.Key<?>> keys()
        Deprecated.
        This method is being considered for removal, if you feel this method is needed please reach out on this Github issue: grpc-java/issues/1764.
        Returns set of keys stored in container.
        Returns:
        Set of Key objects.
      • newBuilder

        @Deprecated
        public static Attributes.Builder newBuilder​(Attributes base)
        Deprecated.
        Use toBuilder() on the Attributes instance instead. This method will be removed in the future.
        Create a new builder that is pre-populated with the content from a given container.
      • toBuilder

        public Attributes.Builder toBuilder()
        Creates a new builder that is pre-populated with the content of this container.
        Returns:
        a new builder.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Returns true if the given object is also a Attributes with an equal attribute values.

        Note that if a stored values are mutable, it is possible for two objects to be considered equal at one point in time and not equal at another (due to concurrent mutation of attribute values).

        This method is not implemented efficiently and is meant for testing.

        Overrides:
        equals in class java.lang.Object
        Parameters:
        o - an object.
        Returns:
        true if the given object is a Attributes equal attributes.
      • hashCode

        public int hashCode()
        Returns a hash code for the attributes.

        Note that if a stored values are mutable, it is possible for two objects to be considered equal at one point in time and not equal at another (due to concurrent mutation of attribute values).

        Overrides:
        hashCode in class java.lang.Object
        Returns:
        a hash code for the attributes map.