private void injectServices(Object target, boolean sharedFields) throws IllegalAccessException { for (final FieldInfo field : spec.getAllFields()) { Field rawField = field.getReflection(); if ((rawField.isAnnotationPresent(Inject.class) || ReflectionUtil.isAnnotationPresent(rawField, "javax.inject.Inject") || rawField.isAnnotationPresent(Autobuild.class)) && rawField.isAnnotationPresent(Shared.class) == sharedFields) { Object value = registry.getObject(rawField.getType(), createAnnotationProvider(field)); rawField.setAccessible(true); rawField.set(target, value); } else if (rawField.isAnnotationPresent(InjectService.class)) { String serviceName = rawField.getAnnotation(InjectService.class).value(); Object value = registry.getService(serviceName, rawField.getType()); rawField.setAccessible(true); rawField.set(target, value); } } }
private void injectServices(Object target, boolean sharedFields) throws IllegalAccessException { for (final FieldInfo field : spec.getAllFields()) { Field rawField = field.getReflection(); if ((rawField.isAnnotationPresent(Inject.class) || ReflectionUtil.isAnnotationPresent(rawField, "javax.inject.Inject") || rawField.isAnnotationPresent(Autobuild.class)) && rawField.isAnnotationPresent(Shared.class) == sharedFields) { Object value = registry.getObject(rawField.getType(), createAnnotationProvider(field)); rawField.setAccessible(true); rawField.set(target, value); } else if (rawField.isAnnotationPresent(InjectService.class)) { String serviceName = rawField.getAnnotation(InjectService.class).value(); Object value = registry.getService(serviceName, rawField.getType()); rawField.setAccessible(true); rawField.set(target, value); } } }
public void transform(PlasticClass plasticClass, TransformationSupport support, MutableComponentModel model) { for (PlasticField field : plasticClass.getFieldsWithAnnotation(InjectService.class)) { InjectService annotation = field.getAnnotation(InjectService.class); field.claim(annotation); Class fieldType = cache.forName(field.getTypeName()); Object service = locator.getService(annotation.value(), fieldType); field.inject(service); } } }
if (is != null) addInjectPlan(plan, f, locator.getService(is.value(), fieldType)); return;
if (is != null) inject(object, f, locator.getService(is.value(), fieldType)); return;
if (is != null) inject(object, f, locator.getService(is.value(), fieldType)); return;
if (is != null) addInjectPlan(plan, f, locator.getService(is.value(), fieldType)); return;
String serviceId = is.value();
String serviceId = is.value();