public Class<?> getMemberType(Injectable injectable) { InjectionSite site = findInjectionSite(injectable); if (site == null) { throw new AssertionError("No injection site for " + injectable + " in " + implementationClass); } if (site instanceof FieldInjectionSite) { try { FieldInjectionSite fieldSite = (FieldInjectionSite) site; Field field = getField(fieldSite.getName()); return field.getType(); } catch (NoSuchFieldException e) { throw new AssertionError(e); } } else if (site instanceof MethodInjectionSite) { MethodInjectionSite methodSite = (MethodInjectionSite) site; Method method = methodSite.getMethod(); return method.getParameterTypes()[methodSite.getParam()]; } else if (site instanceof ConstructorInjectionSite) { ConstructorInjectionSite methodSite = (ConstructorInjectionSite) site; Constructor<?> method = methodSite.getConstructor(); return method.getParameterTypes()[methodSite.getParam()]; } else { throw new AssertionError("Invalid injection site type: " + site.getClass()); } }
public Class<?> getMemberType(Injectable injectable) { InjectionSite site = findInjectionSite(injectable); if (site == null) { throw new AssertionError("No injection site for " + injectable + " in " + implementationClass); } if (site instanceof FieldInjectionSite) { try { FieldInjectionSite fieldSite = (FieldInjectionSite) site; Field field = getField(fieldSite.getName()); return field.getType(); } catch (NoSuchFieldException e) { throw new AssertionError(e); } } else if (site instanceof MethodInjectionSite) { MethodInjectionSite methodSite = (MethodInjectionSite) site; Method method = methodSite.getMethod(); return method.getParameterTypes()[methodSite.getParam()]; } else if (site instanceof ConstructorInjectionSite) { ConstructorInjectionSite methodSite = (ConstructorInjectionSite) site; Constructor<?> method = methodSite.getConstructor(); return method.getParameterTypes()[methodSite.getParam()]; } else { throw new AssertionError("Invalid injection site type: " + site.getClass()); } }
public Type getGenericType(Injectable injectable) { InjectionSite site = findInjectionSite(injectable); if (site == null) { throw new AssertionError("No injection site for " + injectable + " in " + implementationClass); } if (site instanceof FieldInjectionSite) { try { FieldInjectionSite fieldSite = (FieldInjectionSite) site; Field field = getField(fieldSite.getName()); return field.getGenericType(); } catch (NoSuchFieldException e) { throw new AssertionError(e); } } else if (site instanceof MethodInjectionSite) { MethodInjectionSite methodSite = (MethodInjectionSite) site; Method method = methodSite.getMethod(); return method.getGenericParameterTypes()[methodSite.getParam()]; } else if (site instanceof ConstructorInjectionSite) { ConstructorInjectionSite methodSite = (ConstructorInjectionSite) site; Constructor<?> method = methodSite.getConstructor(); return method.getGenericParameterTypes()[methodSite.getParam()]; } else { throw new AssertionError("Invalid injection site type " + site.getClass()); } }
public Type getGenericType(Injectable injectable) { InjectionSite site = findInjectionSite(injectable); if (site == null) { throw new AssertionError("No injection site for " + injectable + " in " + implementationClass); } if (site instanceof FieldInjectionSite) { try { FieldInjectionSite fieldSite = (FieldInjectionSite) site; Field field = getField(fieldSite.getName()); return field.getGenericType(); } catch (NoSuchFieldException e) { throw new AssertionError(e); } } else if (site instanceof MethodInjectionSite) { MethodInjectionSite methodSite = (MethodInjectionSite) site; Method method = methodSite.getMethod(); return method.getGenericParameterTypes()[methodSite.getParam()]; } else if (site instanceof ConstructorInjectionSite) { ConstructorInjectionSite methodSite = (ConstructorInjectionSite) site; Constructor<?> method = methodSite.getConstructor(); return method.getGenericParameterTypes()[methodSite.getParam()]; } else { throw new AssertionError("Invalid injection site type " + site.getClass()); } }
Field field = getField(fieldSite.getName()); Injector<?> injector = reflectionFactory.createInjector(field, supplier); injectors.put(attribute, injector);
Field field = getField(fieldSite.getName()); Injector<?> injector = reflectionFactory.createInjector(field, supplier); injectors.put(attribute, injector);
try { FieldInjectionSite fieldSite = (FieldInjectionSite) site; Field field = getField(fieldSite.getName()); return field.getType(); } catch (NoSuchFieldException e) {
try { FieldInjectionSite fieldSite = (FieldInjectionSite) site; Field field = getField(fieldSite.getName()); return field.getGenericType(); } catch (NoSuchFieldException e) {
Field field = getField(fieldSite.getName()); Injector<?> injector = reflectionFactory.createInjector(field, factory); injectors.put(attribute, injector);