final ResourceMethodConfig config = new ResourceMethodConfig(globalConfig.getProperties());
for (final DynamicFeature dynamicFeature : processingProviders.getDynamicFeatures()) {
dynamicFeature.configure(this, config);
}
final ComponentBag componentBag = config.getComponentBag();
final List<Object> providers = Lists.newArrayList(componentBag.getInstances(ComponentBag.EXCLUDE_META_PROVIDERS));
// Get instances of providers.
final Set<Class<?>> providerClasses = componentBag.getClasses(ComponentBag.EXCLUDE_META_PROVIDERS);
if (!providerClasses.isEmpty()) {
locator = Injections.createLocator(locator, new AbstractBinder() {
@Override
protected void configure() {
bind(config).to(Configuration.class);
}
});
for (final Class<?> providerClass : providerClasses) {
providers.add(locator.create(providerClass));
}
}
final List<RankedProvider<ReaderInterceptor>> _readerInterceptors = Lists.newLinkedList();
final List<RankedProvider<WriterInterceptor>> _writerInterceptors = Lists.newLinkedList();
final List<RankedProvider<ContainerRequestFilter>> _requestFilters = Lists.newLinkedList();
final List<RankedProvider<ContainerResponseFilter>> _responseFilters = Lists.newLinkedList();
for (final Object provider : providers) {
final ContractProvider model = componentBag.getModel(provider.getClass());
final Set<Class<?>> contracts = model.getContracts();
if (contracts.contains(WriterInterceptor.class)) {
_writerInterceptors.add(
new RankedProvider<WriterInterceptor>(