sortContextResolvers(); Collections.sort(preMatchContainerRequestFilters, new BindingPriorityComparator(true)); mapContainerFilters(postMatchContainerRequestFilters, postMatchRequestFilters, true); mapContainerFilters(postMatchContainerResponseFilters, postMatchResponseFilters, false); Collections.sort(readerInterceptors, new BindingPriorityComparator(true)); Collections.sort(writerInterceptors, new BindingPriorityComparator(false)); Collections.sort(clientRequestFilters, new BindingPriorityComparator(true)); Collections.sort(clientResponseFilters, new BindingPriorityComparator(false));
new BindingPriorityComparator(ContainerRequestFilter.class, true)); mapInterceptorFilters(postMatchContainerRequestFilters, postMatchRequestFilters, ContainerRequestFilter.class, true);
@Override protected void setProviders(boolean custom, boolean busGlobal, Object... providers) { List<ProviderInfo<? extends Object>> theProviders = prepareProviders(custom, busGlobal, providers, null); super.setCommonProviders(theProviders); for (ProviderInfo<? extends Object> provider : theProviders) { Class<?> providerCls = ClassHelper.getRealClass(getBus(), provider.getProvider()); if (providerCls == Object.class) { // If the provider is a lambda, ClassHelper.getRealClass returns Object.class providerCls = provider.getProvider().getClass(); } if (filterContractSupported(provider, providerCls, ClientRequestFilter.class)) { addProviderToList(clientRequestFilters, provider); } if (filterContractSupported(provider, providerCls, ClientResponseFilter.class)) { addProviderToList(clientResponseFilters, provider); } if (ResponseExceptionMapper.class.isAssignableFrom(providerCls)) { addProviderToList(responseExceptionMappers, provider); } if (RxInvokerProvider.class.isAssignableFrom(providerCls)) { this.rxInvokerProvider = RxInvokerProvider.class.cast(provider.getProvider()); } } Collections.sort(clientRequestFilters, new BindingPriorityComparator(ClientRequestFilter.class, true)); Collections.sort(clientResponseFilters, new BindingPriorityComparator(ClientResponseFilter.class, false)); injectContextProxies(responseExceptionMappers, clientRequestFilters, clientResponseFilters); }
@Override protected void setProviders(boolean custom, boolean busGlobal, Object... providers) { List<ProviderInfo<? extends Object>> theProviders = prepareProviders(custom, busGlobal, providers, null); super.setCommonProviders(theProviders); for (ProviderInfo<? extends Object> provider : theProviders) { Class<?> providerCls = ClassHelper.getRealClass(getBus(), provider.getProvider()); if (providerCls == Object.class) { // If the provider is a lambda, ClassHelper.getRealClass returns Object.class providerCls = provider.getProvider().getClass(); } if (filterContractSupported(provider, providerCls, ClientRequestFilter.class)) { addProviderToList(clientRequestFilters, provider); } if (filterContractSupported(provider, providerCls, ClientResponseFilter.class)) { addProviderToList(clientResponseFilters, provider); } if (ResponseExceptionMapper.class.isAssignableFrom(providerCls)) { addProviderToList(responseExceptionMappers, provider); } if (RxInvokerProvider.class.isAssignableFrom(providerCls)) { this.rxInvokerProvider = RxInvokerProvider.class.cast(provider.getProvider()); } } Collections.sort(clientRequestFilters, new BindingPriorityComparator(ClientRequestFilter.class, true)); Collections.sort(clientResponseFilters, new BindingPriorityComparator(ClientResponseFilter.class, false)); injectContextProxies(responseExceptionMappers, clientRequestFilters, clientResponseFilters); }