/** * Provides a fully-constructed and injected instance of the service from * the service locator. * * @return an instance of the service. */ @Override public Object get() { return locator.getService(serviceType); }
public ServiceDescriptor build() { return new ServiceDescriptor(type, name, arguments, scope, lazy, injectable, primary); }
@Override public void removeService(ServiceDescriptor descriptor) { BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry) context; beanFactory.removeBeanDefinition(descriptor.getName()); }
ServiceDescriptor serviceDescriptor = new ServiceDescriptorBuilder() .name(fieldName) .type(rawType) .injectable(false) .discoverable(true) .scope(PROTOTYPE) .primary(true) .lazy(true) .arguments(arguments) .build(); locator.addService(serviceDescriptor); Object instance = locator.getService(rawType);
@Override public void addService(ServiceDescriptor descriptor) { checkState(!context.containsBeanDefinition(descriptor.getName()), "Service with the name '%s' already exists.", descriptor.getName()); bean.setBeanClass(descriptor.getType()); bean.setAutowireCandidate(descriptor.getDiscoverable()); bean.setPrimary(descriptor.getPrimary()); bean.setLazyInit(descriptor.getLazy()); bean.setRole(ROLE_APPLICATION); if (descriptor.getInjectable()) { bean.setAutowireMode(AUTOWIRE_CONSTRUCTOR); } else { Object[] arguments = descriptor.getArguments(); for (int i = 0; i < arguments.length; i++) { Object arg = arguments[i]; ServiceScope scope = descriptor.getScope(); switch (scope) { case PROTOTYPE: break; default: checkState(false, "Scope '{}' is not supported by Spring IoC.", scope.name()); beanFactory.registerBeanDefinition(descriptor.getName(), bean);
Set<Class<? extends Annotation>> annotationTypes = locator.getServiceAnnotations().getInjectors(); Set<? extends Annotation> injectors = descriptor.getAnnotations(annotationTypes); instance = locator.getService(fieldType, descriptor.getAnnotations());
@Override public void inject(FieldDescriptor descriptor) { if (!descriptor.hasAnnotations(locator.getServiceAnnotations().getInjectors())) { return;
public void real(Set<FieldDescriptor> fieldDescriptors) { Class<?> testClass = context.getTestClass(); of(testClass.getDeclaredAnnotationsByType(Module.class)) .map(Module::value) .distinct() .forEachOrdered(locator::addModule); locator.reload(); testReifier.reifyTest(fieldDescriptors); }
ServiceDescriptor serviceDescriptor = new ServiceDescriptorBuilder() .name(fieldName) .type(rawType) .injectable(false) .discoverable(true) .scope(PROTOTYPE) .primary(true) .lazy(true) .arguments(arguments) .build(); locator.addService(serviceDescriptor); Object instance = locator.getService(rawType);
@Override public void addService(ServiceDescriptor descriptor) { checkState(!context.containsBeanDefinition(descriptor.getName()), "Service with the name '%s' already exists.", descriptor.getName()); bean.setBeanClass(descriptor.getType()); bean.setAutowireCandidate(descriptor.getDiscoverable()); bean.setPrimary(descriptor.getPrimary()); bean.setLazyInit(descriptor.getLazy()); bean.setRole(ROLE_APPLICATION); if (descriptor.getInjectable()) { bean.setAutowireMode(AUTOWIRE_CONSTRUCTOR); } else { Object[] arguments = descriptor.getArguments(); for (int i = 0; i < arguments.length; i++) { Object arg = arguments[i]; ServiceScope scope = descriptor.getScope(); switch (scope) { case PROTOTYPE: break; default: checkState(false, "Scope '{}' is not supported by Spring IoC.", scope.name()); .registerBeanDefinition(descriptor.getName(), bean);
Set<Class<? extends Annotation>> annotationTypes = locator.getServiceAnnotations().getInjectors(); Set<? extends Annotation> injectors = descriptor.getAnnotations(annotationTypes); instance = locator.getService(fieldType, descriptor.getAnnotations());
@Override public void inject(FieldDescriptor descriptor) { if (!descriptor.hasAnnotations(locator.getServiceAnnotations().getInjectors())) { return;
public void real(Set<FieldDescriptor> fieldDescriptors) { Class<?> testClass = context.getTestClass(); of(testClass.getDeclaredAnnotationsByType(Module.class)) .map(Module::value) .distinct() .forEachOrdered(locator::addModule); locator.reload(); testReifier.reifyTest(fieldDescriptors); }
@Override public void removeService(ServiceDescriptor descriptor) { ((BeanDefinitionRegistry) context).removeBeanDefinition(descriptor.getName()); }
ServiceDescriptor serviceDescriptor = new ServiceDescriptorBuilder() .name(fieldName) .type(rawType) .injectable(false) .discoverable(true) .scope(PROTOTYPE) .primary(true) .lazy(true) .arguments(arguments) .build(); locator.addService(serviceDescriptor); Object instance = locator.getService(rawType);
@Override public void inject(FieldDescriptor descriptor) { if (!descriptor.hasAnnotations(locator.getServiceAnnotations().getInjectors())) { return;
public void real(Set<FieldDescriptor> fieldDescriptors) { Class<?> testClass = context.getTestClass(); of(testClass.getDeclaredAnnotationsByType(Module.class)) .map(Module::value) .distinct() .forEachOrdered(locator::addModule); locator.reload(); testReifier.reifyTest(fieldDescriptors); }
ServiceDescriptor serviceDescriptor = new ServiceDescriptorBuilder() .name(fieldName) .type(rawType) .injectable(false) .discoverable(true) .scope(PROTOTYPE) .primary(true) .lazy(true) .arguments(arguments) .build(); locator.addService(serviceDescriptor); Object instance = locator.getService(rawType);
@Override public void inject(FieldDescriptor descriptor) { if (!descriptor.hasAnnotations(locator.getServiceAnnotations().getInjectors())) { return;
public void real(Set<FieldDescriptor> fieldDescriptors) { Class<?> testClass = context.getTestClass(); of(testClass.getDeclaredAnnotationsByType(Module.class)) .map(Module::value) .distinct() .forEachOrdered(locator::addModule); locator.reload(); testReifier.reifyTest(fieldDescriptors); }