Package io.grpc

Class Attributes


  • @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1764")
    @Immutable
    public final class Attributes
    extends 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 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.
      • toBuilder

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

        public boolean equals​(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 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 Object
        Returns:
        a hash code for the attributes map.