@SuppressWarnings("unchecked") private static <T> Collection<Binder> createInstanceBinders(T instance) { Function<Class, Binder> binderFunction = contract -> new AbstractBinder() { @Override protected void configure() { bind(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE); } }; return Providers.getProviderContracts(instance.getClass()).stream() .map(binderFunction) .collect(Collectors.toList()); }
@SuppressWarnings("unchecked") private static <T> Collection<Binder> createInstanceBinders(T instance) { Function<Class, Binder> binderFunction = contract -> new AbstractBinder() { @Override protected void configure() { bind(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE); } }; return Providers.getProviderContracts(instance.getClass()).stream() .map(binderFunction) .collect(Collectors.toList()); }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
binding = Bindings.service(resource).to(resourceClass); for (Class contract : Providers.getProviderContracts(resourceClass)) { binding.addAlias(contract) .in(scope.getName())
binding = Bindings.service(resource).to(resourceClass); for (Class contract : Providers.getProviderContracts(resourceClass)) { binding.addAlias(contract) .in(scope.getName())
Map<Class<?>, Integer> contracts = contractMap; if (contracts == null) { // introspect contracts = asMap(Providers.getProviderContracts(componentClass)); } else { // filter custom contracts final Iterator<Class<?>> it = contracts.keySet().iterator();
Map<Class<?>, Integer> contracts = contractMap; if (contracts == null) { // introspect contracts = asMap(Providers.getProviderContracts(componentClass)); } else { // filter custom contracts final Iterator<Class<?>> it = contracts.keySet().iterator();
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
binding = Bindings.service(resource).to(resourceClass); for (Class contract : Providers.getProviderContracts(resourceClass)) { binding.addAlias(contract) .in(scope.getName())
@SuppressWarnings("unchecked") private static <T> Collection<Binder> createInstanceBinders(T instance) { Function<Class, Binder> binderFunction = contract -> new AbstractBinder() { @Override protected void configure() { bind(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE); } }; return Providers.getProviderContracts(instance.getClass()).stream() .map(binderFunction) .collect(Collectors.toList()); }
@SuppressWarnings("unchecked") private static <T> Collection<Binder> createInstanceBinders(T instance) { Function<Class, Binder> binderFunction = contract -> new AbstractBinder() { @Override protected void configure() { bind(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE); } }; return Providers.getProviderContracts(instance.getClass()).stream() .map(binderFunction) .collect(Collectors.toList()); }
@SuppressWarnings("unchecked") private <T> void bindInstance(final T instance, final DynamicConfiguration dc) { for (final Class contract : Providers.getProviderContracts(instance.getClass())) { Injections.addBinding(Injections.newBinder(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE), dc); } }
@SuppressWarnings("unchecked") private <T> void bindInstance(final T instance, final DynamicConfiguration dc) { for (final Class contract : Providers.getProviderContracts(instance.getClass())) { Injections.addBinding(Injections.newBinder(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE), dc); } }
@SuppressWarnings("unchecked") private <T> void bindInstance(final T instance, final DynamicConfiguration dc) { for (final Class contract : Providers.getProviderContracts(instance.getClass())) { Injections.addBinding(Injections.newBinder(instance).to(contract).qualifiedBy(CustomAnnotationLiteral.INSTANCE), dc); } }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
@Override public void visitInvocable(final Invocable invocable) { // TODO: check invocable. Class resClass = invocable.getHandler().getHandlerClass(); if (resClass != null && !checkedClasses.contains(resClass)) { checkedClasses.add(resClass); final boolean provider = Providers.isProvider(resClass); int counter = 0; for (Annotation annotation : resClass.getAnnotations()) { if (SCOPE_ANNOTATIONS.contains(annotation.annotationType())) { counter++; } } if (counter == 0 && provider) { Errors.warning(resClass, LocalizationMessages.RESOURCE_IMPLEMENTS_PROVIDER(resClass, Providers.getProviderContracts(resClass))); } else if (counter > 1) { Errors.fatal(resClass, LocalizationMessages.RESOURCE_MULTIPLE_SCOPE_ANNOTATIONS(resClass)); } } }
@SuppressWarnings("unchecked") private <T> void bindClass(final Class<T> clazz, final ServiceLocator locator, final DynamicConfiguration dc, final boolean isResource) { final Class<? extends Annotation> scope = getProviderScope(clazz); if (isResource) { final ActiveDescriptor<?> descriptor = dc.bind(BuilderHelper.activeLink(clazz).to(clazz).in(scope).build()); for (final Class contract : Providers.getProviderContracts(clazz)) { final AliasDescriptor aliasDescriptor = new AliasDescriptor(locator, descriptor, contract.getName(), null); aliasDescriptor.setScope(scope.getName()); aliasDescriptor.addQualifierAnnotation(CustomAnnotationLiteral.INSTANCE); dc.bind(aliasDescriptor); } } else { final ScopedBindingBuilder<T> bindingBuilder = Injections.newBinder(clazz).in(scope).qualifiedBy(CustomAnnotationLiteral.INSTANCE); for (final Class contract : Providers.getProviderContracts(clazz)) { bindingBuilder.to(contract); } Injections.addBinding(bindingBuilder, dc); } }