
com.groupbyinc.flux.common.inject.assistedinject.FactoryProvider.class Maven / Gradle / Ivy
???? 4 ? @com/groupbyinc/flux/common/inject/assistedinject/FactoryProvider ?Ljava/lang/Object;Lcom/groupbyinc/flux/common/inject/Provider;Lcom/groupbyinc/flux/common/inject/spi/HasDependencies; java/lang/Object *com/groupbyinc/flux/common/inject/Provider 5com/groupbyinc/flux/common/inject/spi/HasDependencies FactoryProvider.java Bcom/groupbyinc/flux/common/inject/assistedinject/FactoryProvider$1 java/util/Map$Entry
java/util/Map Entry injector ,Lcom/groupbyinc/flux/common/inject/Injector; factoryType /Lcom/groupbyinc/flux/common/inject/TypeLiteral; 4Lcom/groupbyinc/flux/common/inject/TypeLiteral; factoryMethodToConstructor Ljava/util/Map; tLjava/util/Map;>; A(Lcom/groupbyinc/flux/common/inject/TypeLiteral;Ljava/util/Map;)V ()V
! checkDeclaredExceptionsMatch #
$ this GLcom/groupbyinc/flux/common/inject/assistedinject/FactoryProvider; BLcom/groupbyinc/flux/common/inject/assistedinject/FactoryProvider; entrySet ()Ljava/util/Set; ) * +
java/util/Set - iterator ()Ljava/util/Iterator; / 0 . 1 java/util/Iterator 3 hasNext ()Z 5 6 4 7 next ()Ljava/lang/Object; 9 : 4 ; getValue = : > Dcom/groupbyinc/flux/common/inject/assistedinject/AssistedConstructor @ getDeclaredExceptions B *
A C java/lang/Class E getKey G : H java/lang/reflect/Method J getExceptionTypes ()[Ljava/lang/Class; L M
K N 5isConstructorExceptionCompatibleWithFactoryExeception &(Ljava/lang/Class;[Ljava/lang/Class;)Z P Q
R dConstructor %s declares an exception, but no compatible exception is thrown by the factory method %s T newConfigurationException a(Ljava/lang/String;[Ljava/lang/Object;)Lcom/groupbyinc/flux/common/inject/ConfigurationException; V W
X constructorException Ljava/lang/Class<*>; Ljava/lang/Class; entry zLjava/util/Map$Entry;>; Ljava/util/Map$Entry; [Ljava/lang/Class; ` isAssignableFrom (Ljava/lang/Class;)Z b c
F d factoryException factoryExceptions [Ljava/lang/Class<*>; getDependencies java/util/HashSet j
k values ()Ljava/util/Collection; m n o java/util/Collection q r 1 getAllParameters ()Ljava/util/List; t u
A v java/util/List x y 1 :com/groupbyinc/flux/common/inject/assistedinject/Parameter { isProvidedByFactory } 6
| ~ getPrimaryBindingKey )()Lcom/groupbyinc/flux/common/inject/Key; ? ?
| ? 0com/groupbyinc/flux/common/inject/spi/Dependency ? get [(Lcom/groupbyinc/flux/common/inject/Key;)Lcom/groupbyinc/flux/common/inject/spi/Dependency; ? ?
? ? add (Ljava/lang/Object;)Z ? ? . ? java/util/Collections ? unmodifiableSet (Ljava/util/Set;)Ljava/util/Set; ? ?
? ? parameter