Class Key<T>


  • public class Key<T>
    extends Object
    An object that encapsulates a key used to store and lookup DI bindings. Key is made of a binding type and an optional binding name.
    Since:
    3.1
    • Field Detail

      • typeLiteral

        protected org.apache.cayenne.di.TypeLiteral<T> typeLiteral
        Since:
        4.0
      • bindingName

        protected String bindingName
    • Constructor Detail

      • Key

        protected Key​(org.apache.cayenne.di.TypeLiteral<T> type,
                      String bindingName)
    • Method Detail

      • get

        public static <T> Key<T> get​(Class<T> type)
        Creates a key for a nameless binding of a given type.
      • get

        public static <T> Key<T> get​(Class<T> type,
                                     String bindingName)
        Creates a key for a named binding of a given type. 'bindingName' that is an empty String is treated the same way as a null 'bindingName'. In both cases a nameless binding key is created.
      • getListOf

        public static <T> Key<List<T>> getListOf​(Class<T> type)
        Since:
        4.0
      • getListOf

        public static <T> Key<List<T>> getListOf​(Class<T> type,
                                                 String bindingName)
        Since:
        4.0
      • getMapOf

        public static <K,​V> Key<Map<K,​V>> getMapOf​(Class<K> keyType,
                                                               Class<V> valueType)
        Since:
        4.0
      • getMapOf

        public static <K,​V> Key<Map<K,​V>> getMapOf​(Class<K> keyType,
                                                               Class<V> valueType,
                                                               String bindingName)
        Since:
        4.0
      • getType

        public Class<T> getType()
      • getBindingName

        public String getBindingName()
        Returns an optional name of the binding used to distinguish multiple bindings of the same object type.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object