/** * 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") SupplierBeanBridge(SupplierClassBinding binding, BeanManager beanManager) { super(binding); // Register wrapper for factory functionality, wrapper automatically call service locator which is able to retrieve // the service in the proper context and scope. Bridge is registered for all contracts but is able to lookup from // service locator only using the first contract. Type contract = null; if (binding.getContracts().iterator().hasNext()) { contract = (Type) binding.getContracts().iterator().next(); } this.binding = binding; this.beanManager = beanManager; this.disposable = DisposableSupplier.class.isAssignableFrom(binding.getSupplierClass()); this.type = new ParameterizedTypeImpl(Supplier.class, contract); }
/** * Creates a new Jersey-specific {@link javax.enterprise.inject.spi.Bean} instance. * * @param binding {@link javax.enterprise.inject.spi.BeanAttributes} part of the bean. */ SupplierClassBean(SupplierClassBinding<T> binding) { super(binding); this.supplierClass = binding.getSupplierClass(); this.supplierScope = binding.getSupplierScope(); for (Type contract : binding.getContracts()) { this.contracts.add(new ParameterizedTypeImpl(Supplier.class, contract)); if (DisposableSupplier.class.isAssignableFrom(supplierClass)) { this.contracts.add(new ParameterizedTypeImpl(DisposableSupplier.class, contract)); } } }
binding.getContracts().forEach(contract -> { supplierBuilder.to(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { if (binding.getContracts().iterator().hasNext()) { contract = binding.getContracts().iterator().next();
binding.getContracts().forEach(contract -> { supplierBuilder.to(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { if (binding.getContracts().iterator().hasNext()) { contract = binding.getContracts().iterator().next();
binding.getContracts().forEach(contract -> { supplierBuilder.to(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { if (binding.getContracts().iterator().hasNext()) { contract = binding.getContracts().iterator().next();
binding.getContracts().forEach(contract -> { supplierBuilder.to(new ParameterizedTypeImpl(Supplier.class, contract)); if (disposable) { if (binding.getContracts().iterator().hasNext()) { contract = binding.getContracts().iterator().next();