/** * Look for a service of given type. If more then one service is found the method sorts them are returns the one with highest * priority. * * @param clazz type of service to look for. * @param <T> type of service to look for. * @return instance of service with highest priority or {@code null} if service of given type cannot be found. * @see javax.annotation.Priority */ private static <T> Optional<T> lookupService(final Class<T> clazz) { List<RankedProvider<T>> providers = new LinkedList<>(); for (T provider : ServiceFinder.find(clazz)) { providers.add(new RankedProvider<>(provider)); } providers.sort(new RankedComparator<>(RankedComparator.Order.DESCENDING)); return providers.isEmpty() ? Optional.empty() : Optional.ofNullable(providers.get(0).getProvider()); }
/** * Look for a service of given type. If more then one service is found the method sorts them are returns the one with highest * priority. * * @param clazz type of service to look for. * @param <T> type of service to look for. * @return instance of service with highest priority or {@code null} if service of given type cannot be found. * @see javax.annotation.Priority */ private static <T> Optional<T> lookupService(final Class<T> clazz) { List<RankedProvider<T>> providers = new LinkedList<>(); for (T provider : ServiceFinder.find(clazz)) { providers.add(new RankedProvider<>(provider)); } providers.sort(new RankedComparator<>(RankedComparator.Order.DESCENDING)); return providers.isEmpty() ? Optional.empty() : Optional.ofNullable(providers.get(0).getProvider()); }
/** * Look for a service of given type. If more then one service is found the method sorts them are returns the one with highest * priority. * * @param clazz type of service to look for. * @param <T> type of service to look for * @return instance of service with highest priority or {@code null} if service of given type cannot be found. * @see javax.annotation.Priority */ static <T> T lookupService(final Class<T> clazz) { final List<RankedProvider<T>> providers = new LinkedList<>(); for (final T provider : ServiceFinder.find(clazz)) { providers.add(new RankedProvider<>(provider)); } Collections.sort(providers, new RankedComparator<T>(RankedComparator.Order.ASCENDING)); return providers.isEmpty() ? null : providers.get(0).getProvider(); }
Class<?> providerClass = provider.getProvider().getClass(); final Set<Type> contractTypes = provider.getContractTypes(); if (contractTypes != null && !contractTypes.contains(providerClass)) { if (preMatching && preMatchingFilters != null) { it.remove(); preMatchingFilters.add(new RankedProvider<>((ContainerRequestFilter) provider.getProvider(), model.getPriority(ContainerRequestFilter.class)));
Class<?> providerClass = provider.getProvider().getClass(); final Set<Type> contractTypes = provider.getContractTypes(); if (contractTypes != null && !contractTypes.contains(providerClass)) { if (preMatching && preMatchingFilters != null) { it.remove(); preMatchingFilters.add(new RankedProvider<>((ContainerRequestFilter) provider.getProvider(), model.getPriority(ContainerRequestFilter.class)));
Class<?> providerClass = provider.getProvider().getClass(); final Set<Type> contractTypes = provider.getContractTypes(); if (contractTypes != null && !contractTypes.contains(providerClass)) { if (preMatching && preMatchingFilters != null) { it.remove(); preMatchingFilters.add(new RankedProvider<>((ContainerRequestFilter) provider.getProvider(), model.getPriority(ContainerRequestFilter.class)));
@Override public T apply(final RankedProvider<T> input) { return input.getProvider(); } });
@Override public T apply(final RankedProvider<T> input) { return input.getProvider(); } });
@Override public T apply(final RankedProvider<T> input) { return input.getProvider(); } });
@Override public T apply(final RankedProvider<T> input) { return input.getProvider(); } });
@Override public T apply(final RankedProvider<T> input) { return input.getProvider(); } });
@Override public T apply(final RankedProvider<T> input) { return input.getProvider(); } });
@Override public Iterable<ComponentProvider> get() { // Registering Injection Bindings List<ComponentProvider> result = new LinkedList<>(); // Registering Injection Bindings for (final RankedProvider<ComponentProvider> rankedProvider : getRankedComponentProviders()) { final ComponentProvider provider = rankedProvider.getProvider(); provider.initialize(locator); result.add(provider); } return result; } });
@Override public Iterable<ComponentProvider> get() { // Registering Injection Bindings List<ComponentProvider> result = new LinkedList<>(); // Registering Injection Bindings for (final RankedProvider<ComponentProvider> rankedProvider : getRankedComponentProviders()) { final ComponentProvider provider = rankedProvider.getProvider(); provider.initialize(locator); result.add(provider); } return result; } });
@Override public Iterable<ComponentProvider> get() { // Registering Injection Bindings List<ComponentProvider> result = new LinkedList<>(); // Registering Injection Bindings for (final RankedProvider<ComponentProvider> rankedProvider : getRankedComponentProviders()) { final ComponentProvider provider = rankedProvider.getProvider(); provider.initialize(locator); result.add(provider); } return result; } });
private Hk2CustomBoundTypesProvider lookupHk2CustomBoundTypesProvider() throws ServiceConfigurationError { final List<RankedProvider<Hk2CustomBoundTypesProvider>> providers = new LinkedList<RankedProvider<Hk2CustomBoundTypesProvider>>(); for (final Hk2CustomBoundTypesProvider provider : ServiceFinder.find(Hk2CustomBoundTypesProvider.class)) { providers.add(new RankedProvider<Hk2CustomBoundTypesProvider>(provider)); } Collections.sort(providers, new RankedComparator<Hk2CustomBoundTypesProvider>(RankedComparator.Order.DESCENDING)); return providers.isEmpty() ? null : providers.get(0).getProvider(); }
/** * Look for a service of given type. If more then one service is found the method sorts them are returns the one with highest * priority. * * @param clazz type of service to look for. * @param <T> type of service to look for. * @return instance of service with highest priority or {@code null} if service of given type cannot be found. * @see javax.annotation.Priority */ private static <T> Optional<T> lookupService(final Class<T> clazz) { List<RankedProvider<T>> providers = new LinkedList<>(); for (T provider : ServiceFinder.find(clazz)) { providers.add(new RankedProvider<>(provider)); } providers.sort(new RankedComparator<>(RankedComparator.Order.DESCENDING)); return providers.isEmpty() ? Optional.empty() : Optional.ofNullable(providers.get(0).getProvider()); }
/** * Look for a service of given type. If more then one service is found the method sorts them are returns the one with highest * priority. * * @param clazz type of service to look for. * @param <T> type of service to look for. * @return instance of service with highest priority or {@code null} if service of given type cannot be found. * @see javax.annotation.Priority */ private static <T> Optional<T> lookupService(final Class<T> clazz) { List<RankedProvider<T>> providers = new LinkedList<>(); for (T provider : ServiceFinder.find(clazz)) { providers.add(new RankedProvider<>(provider)); } providers.sort(new RankedComparator<>(RankedComparator.Order.DESCENDING)); return providers.isEmpty() ? Optional.empty() : Optional.ofNullable(providers.get(0).getProvider()); }
/** * Look for a service of given type. If more then one service is found the method sorts them are returns the one with highest * priority. * * @param clazz type of service to look for. * @param <T> type of service to look for * @return instance of service with highest priority or {@code null} if service of given type cannot be found. * @see javax.annotation.Priority */ static <T> T lookupService(final Class<T> clazz) { final List<RankedProvider<T>> providers = new LinkedList<>(); for (final T provider : ServiceFinder.find(clazz)) { providers.add(new RankedProvider<>(provider)); } Collections.sort(providers, new RankedComparator<T>(RankedComparator.Order.ASCENDING)); return providers.isEmpty() ? null : providers.get(0).getProvider(); }
Class<?> providerClass = provider.getProvider().getClass(); final Set<Type> contractTypes = provider.getContractTypes(); if (contractTypes != null && !contractTypes.contains(providerClass)) { if (preMatching && preMatchingFilters != null) { it.remove(); preMatchingFilters.add(new RankedProvider<>((ContainerRequestFilter) provider.getProvider(), model.getPriority(ContainerRequestFilter.class)));