@Override public Set<Type> getTypes() { Set<Type> contracts = new HashSet<>(); contracts.addAll(binding.getContracts()); // Merge aliases with the main bean if (!binding.getAliases().isEmpty()) { binding.getAliases().forEach(alias -> contracts.add(alias.getContract())); } contracts.add(Object.class); return contracts; }
@Override public Set<Annotation> getQualifiers() { Set<Annotation> qualifiers = new HashSet<>(); qualifiers.addAll(DEFAULT_QUALIFIERS); if (binding.getQualifiers() != null) { qualifiers.addAll(binding.getQualifiers()); } // Merge aliases with the main bean if (!binding.getAliases().isEmpty()) { binding.getAliases().forEach(alias -> qualifiers.addAll(alias.getQualifiers())); } return qualifiers; }
/** * Binds the single descriptor using an external {@link DynamicConfiguration}. * * @param locator HK2 injection manager. * @param dc HK2 Dynamic configuration to bind the object. * @param binding Jersey descriptor as a holder of information about an injection point. */ private static void bindBinding(ServiceLocator locator, DynamicConfiguration dc, Binding<?, ?> binding) { if (ClassBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((ClassBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InstanceBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((InstanceBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InjectionResolverBinding.class.isAssignableFrom(binding.getClass())) { InjectionResolverBinding resolverDescriptor = (InjectionResolverBinding) binding; bindBinding(locator, dc, wrapInjectionResolver(resolverDescriptor), binding.getAliases()); bindBinding(locator, dc, translateToActiveDescriptor(resolverDescriptor), binding.getAliases()); } else if (SupplierClassBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierClassBinding(locator, (SupplierClassBinding<?>) binding); } else if (SupplierInstanceBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierInstanceBinding(locator, (SupplierInstanceBinding<?>) binding); } else { throw new RuntimeException(LocalizationMessages.UNKNOWN_DESCRIPTOR_TYPE(binding.getClass().getSimpleName())); } }
/** * Binds the single descriptor using an external {@link DynamicConfiguration}. * * @param locator HK2 injection manager. * @param dc HK2 Dynamic configuration to bind the object. * @param binding Jersey descriptor as a holder of information about an injection point. */ private static void bindBinding(ServiceLocator locator, DynamicConfiguration dc, Binding<?, ?> binding) { if (ClassBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((ClassBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InstanceBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((InstanceBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InjectionResolverBinding.class.isAssignableFrom(binding.getClass())) { InjectionResolverBinding resolverDescriptor = (InjectionResolverBinding) binding; bindBinding(locator, dc, wrapInjectionResolver(resolverDescriptor), binding.getAliases()); bindBinding(locator, dc, translateToActiveDescriptor(resolverDescriptor), binding.getAliases()); } else if (SupplierClassBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierClassBinding(locator, (SupplierClassBinding<?>) binding); } else if (SupplierInstanceBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierInstanceBinding(locator, (SupplierInstanceBinding<?>) binding); } else { throw new RuntimeException(LocalizationMessages.UNKNOWN_DESCRIPTOR_TYPE(binding.getClass().getSimpleName())); } }
/** * Binds the single descriptor using an external {@link DynamicConfiguration}. * * @param locator HK2 injection manager. * @param dc HK2 Dynamic configuration to bind the object. * @param binding Jersey descriptor as a holder of information about an injection point. */ private static void bindBinding(ServiceLocator locator, DynamicConfiguration dc, Binding<?, ?> binding) { if (ClassBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((ClassBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InstanceBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((InstanceBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InjectionResolverBinding.class.isAssignableFrom(binding.getClass())) { InjectionResolverBinding resolverDescriptor = (InjectionResolverBinding) binding; bindBinding(locator, dc, wrapInjectionResolver(resolverDescriptor), binding.getAliases()); bindBinding(locator, dc, translateToActiveDescriptor(resolverDescriptor), binding.getAliases()); } else if (SupplierClassBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierClassBinding(locator, (SupplierClassBinding<?>) binding); } else if (SupplierInstanceBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierInstanceBinding(locator, (SupplierInstanceBinding<?>) binding); } else { throw new RuntimeException(LocalizationMessages.UNKNOWN_DESCRIPTOR_TYPE(binding.getClass().getSimpleName())); } }
/** * Binds the single descriptor using an external {@link DynamicConfiguration}. * * @param locator HK2 injection manager. * @param dc HK2 Dynamic configuration to bind the object. * @param binding Jersey descriptor as a holder of information about an injection point. */ private static void bindBinding(ServiceLocator locator, DynamicConfiguration dc, Binding<?, ?> binding) { if (ClassBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((ClassBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InstanceBinding.class.isAssignableFrom(binding.getClass())) { ActiveDescriptor<?> activeDescriptor = translateToActiveDescriptor((InstanceBinding<?>) binding); bindBinding(locator, dc, activeDescriptor, binding.getAliases()); } else if (InjectionResolverBinding.class.isAssignableFrom(binding.getClass())) { InjectionResolverBinding resolverDescriptor = (InjectionResolverBinding) binding; bindBinding(locator, dc, wrapInjectionResolver(resolverDescriptor), binding.getAliases()); bindBinding(locator, dc, translateToActiveDescriptor(resolverDescriptor), binding.getAliases()); } else if (SupplierClassBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierClassBinding(locator, (SupplierClassBinding<?>) binding); } else if (SupplierInstanceBinding.class.isAssignableFrom(binding.getClass())) { bindSupplierInstanceBinding(locator, (SupplierInstanceBinding<?>) binding); } else { throw new RuntimeException(LocalizationMessages.UNKNOWN_DESCRIPTOR_TYPE(binding.getClass().getSimpleName())); } }