Class Key


  • public abstract class Key
    extends java.lang.Object
    A type and an optional qualifier that is the lookup key for a binding.
    • Constructor Detail

      • Key

        public Key()
    • Method Detail

      • qualifier

        public abstract java.util.Optional<DaggerAnnotation> qualifier()
        A Qualifier annotation that provides a unique namespace prefix for the type of this key.
      • type

        public abstract DaggerType type()
        The type represented by this key.
      • multibindingContributionIdentifier

        public abstract java.util.Optional<Key.MultibindingContributionIdentifier> multibindingContributionIdentifier()
        Distinguishes keys for multibinding contributions that share a type() and qualifier().

        Each multibound map and set has a synthetic multibinding that depends on the specific contributions to that map or set using keys that identify those multibinding contributions.

        Absent except for multibinding contributions.

      • withType

        public Key withType​(DaggerType newType)
        Returns a copy of this key with the type replaced with the given type.
      • withMultibindingContributionIdentifier

        public Key withMultibindingContributionIdentifier​(DaggerTypeElement contributingModule,
                                                          DaggerExecutableElement bindingMethod)
        Returns a copy of this key with the multibinding contribution identifier replaced with the given multibinding contribution identifier.
      • withoutMultibindingContributionIdentifier

        public Key withoutMultibindingContributionIdentifier()
        Returns a copy of this key with the multibinding contribution identifier, if any, removed.
      • hashCode

        @Memoized
        public abstract int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public abstract boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • toString

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