Supplier<?> supplier = binding.getSupplier(); boolean disposable = DisposableSupplier.class.isAssignableFrom(supplier.getClass()); binding.getContracts().forEach(contract -> { supplierBuilder.addContractType(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { supplierBuilder.setName(binding.getName()); binding.getQualifiers().forEach(supplierBuilder::addQualifierAnnotation); binder.bind(supplierBuilder);
/** * Start building a new supplier instance-based service binding. * * @param <T> service type. * @param supplier service instance. * @return initialized binding builder. */ public static <T> SupplierInstanceBinding<T> supplier(Supplier<T> supplier) { return new SupplierInstanceBinding<>(supplier); }
/** * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance. * * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean. */ @SuppressWarnings("unchecked") SupplierInstanceBeanBridge(SupplierInstanceBinding binding) { super(binding); SupplierInstanceBinding<T> casted = (SupplierInstanceBinding<T>) binding; this.supplier = casted.getSupplier(); this.scope = casted.getScope(); }
/** * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance. * * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean. */ SupplierInstanceBean(SupplierInstanceBinding<T> binding) { super(binding); this.supplier = binding.getSupplier(); for (Type contract: binding.getContracts()) { this.contracts.add(new ParameterizedTypeImpl(Supplier.class, contract)); if (DisposableSupplier.class.isAssignableFrom(binding.getSupplier().getClass())) { this.contracts.add(new ParameterizedTypeImpl(DisposableSupplier.class, contract)); } } }
.in(Singleton.class) .to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier); .in(Singleton.class) .to(ScheduledExecutorService.class); descriptor.to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier);
private void bindWaeRestoringExceptionMapper() { GenericCdiBeanSupplier beanSupplier = new GenericCdiBeanSupplier(TransactionalExceptionMapper.class, injectionManager, beanManager, true); Binding binding = Bindings.supplier(beanSupplier).to(ExceptionMapper.class); injectionManager.register(binding); }
@Override public Class<?> getBeanClass() { return (Class<?>) this.binding.getContracts().iterator().next(); }
/** * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance. * * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean. */ @SuppressWarnings("unchecked") SupplierThreadScopeBean(SupplierInstanceBinding binding, BeanManagerImpl manager) { super(binding); this.binding = binding; this.beanInstance = new ThreadScopeBeanInstance<>(binding.getSupplier(), this, manager.getContextId()); this.proxy = createClientProxy(beanInstance, manager.getContextId()); }
.in(Singleton.class) .to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier); .in(Singleton.class) .to(ScheduledExecutorService.class); descriptor.to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier);
@Override public boolean bind(Class<?> component, Set<Class<?>> providerContracts) { if (ctx == null) { return false; } if (AnnotationUtils.findAnnotation(component, Component.class) != null) { String[] beanNames = ctx.getBeanNamesForType(component); if (beanNames == null || beanNames.length != 1) { LOGGER.severe(LocalizationMessages.NONE_OR_MULTIPLE_BEANS_AVAILABLE(component)); return false; } String beanName = beanNames[0]; Binding binding = Bindings.supplier(new SpringManagedBeanFactory(ctx, injectionManager, beanName)) .to(component) .to(providerContracts); injectionManager.register(binding); LOGGER.config(LocalizationMessages.BEAN_REGISTERED(beanNames[0])); return true; } return false; }
.in(Singleton.class) .to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier); .in(Singleton.class) .to(ScheduledExecutorService.class); descriptor.to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier);
@SuppressWarnings("unchecked") @Override public boolean bind(Class<?> component, Set<Class<?>> providerContracts) { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.fine(LocalizationMessages.EJB_CLASS_BEING_CHECKED(component)); } if (injectionManager == null) { throw new IllegalStateException(LocalizationMessages.EJB_COMPONENT_PROVIDER_NOT_INITIALIZED_PROPERLY()); } if (!isEjbComponent(component)) { return false; } if (!ejbInterceptorRegistered) { registerEjbInterceptor(); } Binding binding = Bindings.supplier(new EjbFactory(component, initialContext, EjbComponentProvider.this)) .to(component) .to(providerContracts); injectionManager.register(binding); if (LOGGER.isLoggable(Level.CONFIG)) { LOGGER.config(LocalizationMessages.EJB_CLASS_BOUND_WITH_CDI(component)); } return true; }
Supplier<?> supplier = binding.getSupplier(); boolean disposable = DisposableSupplier.class.isAssignableFrom(supplier.getClass()); binding.getContracts().forEach(contract -> { supplierBuilder.addContractType(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { supplierBuilder.setName(binding.getName()); binding.getQualifiers().forEach(supplierBuilder::addQualifierAnnotation); binder.bind(supplierBuilder);
/** * Start building a new supplier instance-based service binding. * * @param <T> service type. * @param supplier service instance. * @return initialized binding builder. */ public static <T> SupplierInstanceBinding<T> supplier(Supplier<T> supplier) { return new SupplierInstanceBinding<>(supplier); }
@Override protected void configure() { bindFactory(JettyRequestReferencingFactory.class).to(Request.class) .proxy(false).in(RequestScoped.class); bindFactory(ReferencingFactory.<Request>referenceFactory()).to(new GenericType<Ref<Request>>() {}) .in(RequestScoped.class); bindFactory(JettyResponseReferencingFactory.class).to(Response.class) .proxy(false).in(RequestScoped.class); bindFactory(ReferencingFactory.<Response>referenceFactory()).to(new GenericType<Ref<Response>>() {}) .in(RequestScoped.class); } }
.in(Singleton.class) .to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier); .in(Singleton.class) .to(ScheduledExecutorService.class); descriptor.to(ExecutorService.class); descriptor.named(((Named) qualifier).value()); } else { descriptor.qualifiedBy(qualifier);
Supplier<?> supplier = binding.getSupplier(); boolean disposable = DisposableSupplier.class.isAssignableFrom(supplier.getClass()); binding.getContracts().forEach(contract -> { supplierBuilder.addContractType(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { supplierBuilder.setName(binding.getName()); binding.getQualifiers().forEach(supplierBuilder::addQualifierAnnotation); binder.bind(supplierBuilder);