Package org.jboss.resteasy.core.providerfactory

## Class ResteasyProviderFactoryImpl

- java.lang.Object
- - javax.ws.rs.ext.RuntimeDelegate
  - - org.jboss.resteasy.spi.ResteasyProviderFactory
    - - org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl

- All Implemented Interfaces:
    `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`, `javax.ws.rs.core.Configuration`, `javax.ws.rs.ext.Providers`, `HeaderValueProcessor`
  Direct Known Subclasses:
    `LocalResteasyProviderFactory`, `ThreadLocalResteasyProviderFactory`

      public class ResteasyProviderFactoryImpl
      extends ResteasyProviderFactory
      implements javax.ws.rs.ext.Providers, HeaderValueProcessor, javax.ws.rs.core.Configurable<ResteasyProviderFactory>, javax.ws.rs.core.Configuration

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.ws.rs.ext.RuntimeDelegate

      `javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate<T extends Object>`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Set<Class<?>>` | `alreadyEstablishedNullHeaderDelegate` |
    `protected SnapshotMap<Type,​ContextInjector>` | `asyncContextInjectors` |
    `protected boolean` | `attachedContextResolvers` |
    `protected boolean` | `attachedParamConverterProviders` |
    `protected boolean` | `builtinsRegistered` |
    `protected SnapshotMap<Class<?>,​Map<Class<?>,​Integer>>` | `classContracts` |
    `protected ClientHelper` | `clientHelper` |
    `protected SnapshotMap<Type,​ContextInjector>` | `contextInjectors` |
    `protected Map<Class<?>,​MediaTypeMap<SortedKey<javax.ws.rs.ext.ContextResolver>>>` | `contextResolvers` |
    `protected SnapshotSet<javax.ws.rs.core.Feature>` | `enabledFeatures` |
    `protected SnapshotMap<Class<?>,​javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate>` | `headerDelegates` |
    `protected boolean` | `initialized` |
    `protected InjectorFactory` | `injectorFactory` |
    `protected boolean` | `lockSnapshots` |
    `protected SnapshotMap<String,​Object>` | `properties` |
    `protected SnapshotSet<Class<?>>` | `providerClasses` |
    `protected SnapshotSet<Object>` | `providerInstances` |
    `protected boolean` | `registerBuiltins` |
    `protected ResourceBuilder` | `resourceBuilder` |
    `protected ServerHelper` | `serverHelper` |
    `protected Set<ExtSortedKey<javax.ws.rs.ext.ParamConverterProvider>>` | `sortedParamConverterProviders` |
    `protected StatisticsControllerImpl` | `statisticsController` |
    `protected SnapshotMap<Class<?>,​Class<? extends StringParameterUnmarshaller>>` | `stringParameterUnmarshallers` |

    - ### Fields inherited from class javax.ws.rs.ext.RuntimeDelegate

      `JAXRS_RUNTIME_DELEGATE_PROPERTY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ResteasyProviderFactoryImpl()` |
    `ResteasyProviderFactoryImpl​(javax.ws.rs.RuntimeType runtimeType)` | Create factory optimized for a Client
    `ResteasyProviderFactoryImpl​(javax.ws.rs.RuntimeType runtimeType, ResteasyProviderFactory parent)` | Create factory optimized for a specific RuntimeType that is a copy of its parent (shallow copy if possible)

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addContextInjector​(Class provider)` |
    `void` | `addContextResolver​(Class provider, boolean isBuiltin, int priority)` |
    `void` | `addFeature​(Class<? extends javax.ws.rs.core.Feature> provider)` |
    `void` | `addHeaderDelegate​(Class provider)` |
    `void` | `addHeaderDelegate​(Class<? extends javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate> provider, Class<?> headerClass)` |
    `void` | `addHeaderDelegate​(Class clazz, javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate header)` |
    `protected void` | `addHeaderDelegateIfAbsent​(Class clazz, javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate header)` |
    `void` | `addInjectorFactory​(Class provider)` |
    `void` | `addParameterConverterProvider​(Class provider, boolean isBuiltin, int priority)` |
    `void` | `addResourceClassProcessor​(Class<ResourceClassProcessor> processorClass, int priority)` |
    `void` | `addStringParameterUnmarshaller​(Class<? extends StringParameterUnmarshaller> provider)` |
    `<T> T` | `createEndpoint​(javax.ws.rs.core.Application applicationConfig, Class<T> endpointType)` | This is a spec method that is unsupported.
    `<T> javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate<T>` | `createHeaderDelegate​(Class<T> tClass)` |
    `javax.ws.rs.core.Link.Builder` | `createLinkBuilder()` |
    `<T> T` | `createProviderInstance​(Class<? extends T> clazz)` | Create an instance of a class using provider allocation rules of the specification as well as the InjectorFactory only does constructor injection.
    `javax.ws.rs.core.Response.ResponseBuilder` | `createResponseBuilder()` |
    `<T> StringParameterUnmarshaller<T>` | `createStringParameterUnmarshaller​(Class<T> clazz)` |
    `javax.ws.rs.core.UriBuilder` | `createUriBuilder()` |
    `javax.ws.rs.core.Variant.VariantListBuilder` | `createVariantListBuilder()` |
    `<T> AsyncClientResponseProvider<T>` | `getAsyncClientResponseProvider​(Class<T> type)` |
    `Map<Class<?>,​AsyncClientResponseProvider>` | `getAsyncClientResponseProviders()` |
    `Map<Type,​ContextInjector>` | `getAsyncContextInjectors()` |
    `<T> AsyncResponseProvider<T>` | `getAsyncResponseProvider​(Class<T> type)` |
    `Map<Class<?>,​AsyncResponseProvider>` | `getAsyncResponseProviders()` |
    `<T> AsyncStreamProvider<T>` | `getAsyncStreamProvider​(Class<T> type)` |
    `Map<Class<?>,​AsyncStreamProvider>` | `getAsyncStreamProviders()` |
    `Map<Class<?>,​Map<Class<?>,​Integer>>` | `getClassContracts()` |
    `Set<Class<?>>` | `getClasses()` |
    `Set<javax.ws.rs.container.DynamicFeature>` | `getClientDynamicFeatures()` |
    `ClientHelper` | `getClientHelper()` |
    `<T> javax.ws.rs.ext.MessageBodyReader<T>` | `getClientMessageBodyReader​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` |
    `protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyReader>>` | `getClientMessageBodyReaders()` |
    `<T> javax.ws.rs.ext.MessageBodyWriter<T>` | `getClientMessageBodyWriter​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` |
    `protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyWriter>>` | `getClientMessageBodyWriters()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.ext.ReaderInterceptor>` | `getClientReaderInterceptorRegistry()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.client.ClientRequestFilter>` | `getClientRequestFilterRegistry()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.client.ClientResponseFilter>` | `getClientResponseFilters()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.ext.WriterInterceptor>` | `getClientWriterInterceptorRegistry()` |
    `javax.ws.rs.core.MediaType` | `getConcreteMediaTypeFromMessageBodyWriters​(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` |
    `javax.ws.rs.core.Configuration` | `getConfiguration()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.container.ContainerRequestFilter>` | `getContainerRequestFilterRegistry()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.container.ContainerResponseFilter>` | `getContainerResponseFilterRegistry()` |
    `<T> T` | `getContextData​(Class<T> type)` |
    `<T> T` | `getContextData​(Class<T> rawType, Type genericType, Annotation[] annotations, boolean unwrapAsync)` |
    `Map<Type,​ContextInjector>` | `getContextInjectors()` |
    `<T> javax.ws.rs.ext.ContextResolver<T>` | `getContextResolver​(Class<T> contextType, javax.ws.rs.core.MediaType mediaType)` |
    `protected Map<Class<?>,​MediaTypeMap<SortedKey<javax.ws.rs.ext.ContextResolver>>>` | `getContextResolvers()` |
    `List<javax.ws.rs.ext.ContextResolver>` | `getContextResolvers​(Class<?> clazz, javax.ws.rs.core.MediaType type)` |
    `Map<Class<?>,​Integer>` | `getContracts​(Class<?> componentClass)` |
    `Collection<javax.ws.rs.core.Feature>` | `getEnabledFeatures()` |
    `<T extends Throwable> javax.ws.rs.ext.ExceptionMapper<T>` | `getExceptionMapper​(Class<T> type)` |
    `<T extends Throwable> javax.ws.rs.ext.ExceptionMapper<T>` | `getExceptionMapperForClass​(Class<T> type)` |
    `javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate` | `getHeaderDelegate​(Class<?> aClass)` | Checks to see if RuntimeDelegate is a ResteasyProviderFactory If it is, then use that, otherwise use this.
    `protected Map<Class<?>,​javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate>` | `getHeaderDelegates()` |
    `InjectorFactory` | `getInjectorFactory()` |
    `Set<Object>` | `getInstances()` |
    `<T> javax.ws.rs.ext.MessageBodyReader<T>` | `getMessageBodyReader​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` | Always returns server MBRs.
    `<T> javax.ws.rs.ext.MessageBodyWriter<T>` | `getMessageBodyWriter​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` | Always gets server MBW.
    `Map<String,​Object>` | `getMutableProperties()` |
    `Set<Class<?>>` | `getMutableProviderClasses()` |
    `javax.ws.rs.ext.ParamConverter` | `getParamConverter​(Class clazz, Type genericType, Annotation[] annotations)` |
    `Map<javax.ws.rs.ext.MessageBodyWriter<?>,​Class<?>>` | `getPossibleMessageBodyWritersMap​(Class type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType accept)` |
    `Map<String,​Object>` | `getProperties()` |
    `Object` | `getProperty​(String name)` |
    `Collection<String>` | `getPropertyNames()` |
    `Set<Class<?>>` | `getProviderClasses()` | Gets provide classes.
    `Set<Object>` | `getProviderInstances()` | Gets provider instances.
    `ResourceBuilder` | `getResourceBuilder()` |
    `javax.ws.rs.RuntimeType` | `getRuntimeType()` |
    `<I extends javax.ws.rs.client.RxInvoker> javax.ws.rs.client.RxInvokerProvider<I>` | `getRxInvokerProvider​(Class<I> clazz)` |
    `javax.ws.rs.client.RxInvokerProvider<?>` | `getRxInvokerProviderFromReactiveClass​(Class<?> clazz)` |
    `Set<javax.ws.rs.container.DynamicFeature>` | `getServerDynamicFeatures()` |
    `ServerHelper` | `getServerHelper()` |
    `<T> javax.ws.rs.ext.MessageBodyReader<T>` | `getServerMessageBodyReader​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` | Deprecated.
    `<T> javax.ws.rs.ext.MessageBodyReader<T>` | `getServerMessageBodyReader​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, RESTEasyTracingLogger tracingLogger)` |
    `protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyReader>>` | `getServerMessageBodyReaders()` |
    `<T> javax.ws.rs.ext.MessageBodyWriter<T>` | `getServerMessageBodyWriter​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)` | Deprecated.
    `<T> javax.ws.rs.ext.MessageBodyWriter<T>` | `getServerMessageBodyWriter​(Class<T> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, RESTEasyTracingLogger tracingLogger)` |
    `protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyWriter>>` | `getServerMessageBodyWriters()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.ext.ReaderInterceptor>` | `getServerReaderInterceptorRegistry()` |
    `JaxrsInterceptorRegistry<javax.ws.rs.ext.WriterInterceptor>` | `getServerWriterInterceptorRegistry()` |
    `protected Set<ExtSortedKey<javax.ws.rs.ext.ParamConverterProvider>>` | `getSortedParamConverterProviders()` |
    `StatisticsController` | `getStatisticsController()` |
    `protected Map<Class<?>,​Class<? extends StringParameterUnmarshaller>>` | `getStringParameterUnmarshallers()` |
    `protected void` | `initialize()` |
    `void` | `initializeClientProviders​(ResteasyProviderFactory factory)` |
    `protected void` | `initializeCommon​(ResteasyProviderFactoryImpl parent, boolean lockSnapshots, boolean snapFirst)` |
    `<T> T` | `injectedInstance​(Class<? extends T> clazz)` | Property and constructor injection using the InjectorFactory.
    `<T> T` | `injectedInstance​(Class<? extends T> clazz, HttpRequest request, HttpResponse response)` | Property and constructor injection using the InjectorFactory.
    `void` | `injectProperties​(Object obj)` |
    `void` | `injectProperties​(Object obj, HttpRequest request, HttpResponse response)` |
    `boolean` | `isBuiltinsRegistered()` |
    `boolean` | `isEnabled​(Class<? extends javax.ws.rs.core.Feature> featureClass)` |
    `boolean` | `isEnabled​(javax.ws.rs.core.Feature feature)` |
    `protected boolean` | `isOnServer()` |
    `boolean` | `isReactive​(Class<?> clazz)` |
    `boolean` | `isRegisterBuiltins()` |
    `boolean` | `isRegistered​(Class<?> componentClass)` |
    `boolean` | `isRegistered​(Object component)` |
    `void` | `lockSnapshots()` |
    `ResteasyProviderFactory` | `property​(String name, Object value)` |
    `ResteasyProviderFactory` | `register​(Class<?> providerClass)` |
    `ResteasyProviderFactory` | `register​(Class<?> componentClass, int priority)` |
    `ResteasyProviderFactory` | `register​(Class<?> componentClass, Class<?>... contracts)` |
    `ResteasyProviderFactory` | `register​(Class<?> componentClass, Map<Class<?>,​Integer> contracts)` |
    `ResteasyProviderFactory` | `register​(Object provider)` |
    `ResteasyProviderFactory` | `register​(Object component, int priority)` |
    `ResteasyProviderFactory` | `register​(Object component, Class<?>... contracts)` |
    `ResteasyProviderFactory` | `register​(Object component, Map<Class<?>,​Integer> contracts)` |
    `protected void` | `registerBuiltin()` |
    `void` | `registerProvider​(Class provider)` |
    `void` | `registerProvider​(Class provider, boolean isBuiltin)` | Register a @Provider class.
    `void` | `registerProvider​(Class provider, Integer priorityOverride, boolean isBuiltin, Map<Class<?>,​Integer> contracts)` |
    `void` | `registerProviderInstance​(Object provider)` | Register a @Provider object.
    `void` | `registerProviderInstance​(Object provider, Map<Class<?>,​Integer> contracts, Integer priorityOverride, boolean builtIn)` |
    `void` | `setBuiltinsRegistered​(boolean builtinsRegistered)` |
    `void` | `setInjectorFactory​(InjectorFactory injectorFactory)` |
    `ResteasyProviderFactory` | `setProperties​(Map<String,​Object> properties)` |
    `void` | `setRegisterBuiltins​(boolean registerBuiltins)` |
    `String` | `toHeaderString​(Object object)` | Convert an object to a header string.
    `String` | `toString​(Object object, Class clazz, Type genericType, Annotation[] annotations)` | Convert an object to a string.

    - ### Methods inherited from class org.jboss.resteasy.spi.ResteasyProviderFactory

      `clearInstanceIfEqual, getInstance, isA, isA, newInstance, peekInstance, setInstance, setRegisterBuiltinByDefault`

    - ### Methods inherited from class javax.ws.rs.ext.RuntimeDelegate

      `setInstance`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### clientHelper

          protected ClientHelper clientHelper

    - #### serverHelper

          protected ServerHelper serverHelper

    - #### providerClasses

          protected SnapshotSet<Class<?>> providerClasses

    - #### providerInstances

          protected SnapshotSet<Object> providerInstances

    - #### classContracts

          protected SnapshotMap<Class<?>,​Map<Class<?>,​Integer>> classContracts

    - #### properties

          protected SnapshotMap<String,​Object> properties

    - #### headerDelegates

          protected SnapshotMap<Class<?>,​javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate> headerDelegates

    - #### contextInjectors

          protected SnapshotMap<Type,​ContextInjector> contextInjectors

    - #### asyncContextInjectors

          protected SnapshotMap<Type,​ContextInjector> asyncContextInjectors

    - #### stringParameterUnmarshallers

          protected SnapshotMap<Class<?>,​Class<? extends StringParameterUnmarshaller>> stringParameterUnmarshallers

    - #### enabledFeatures

          protected SnapshotSet<javax.ws.rs.core.Feature> enabledFeatures

    - #### attachedContextResolvers

          protected boolean attachedContextResolvers

    - #### contextResolvers

          protected Map<Class<?>,​MediaTypeMap<SortedKey<javax.ws.rs.ext.ContextResolver>>> contextResolvers

    - #### attachedParamConverterProviders

          protected boolean attachedParamConverterProviders

    - #### sortedParamConverterProviders

          protected Set<ExtSortedKey<javax.ws.rs.ext.ParamConverterProvider>> sortedParamConverterProviders

    - #### alreadyEstablishedNullHeaderDelegate

          protected Set<Class<?>> alreadyEstablishedNullHeaderDelegate

    - #### builtinsRegistered

          protected boolean builtinsRegistered

    - #### registerBuiltins

          protected boolean registerBuiltins

    - #### injectorFactory

          protected InjectorFactory injectorFactory

    - #### resourceBuilder

          protected ResourceBuilder resourceBuilder

    - #### initialized

          protected boolean initialized

    - #### lockSnapshots

          protected boolean lockSnapshots

    - #### statisticsController

          protected StatisticsControllerImpl statisticsController

  - ### Constructor Detail

    - #### ResteasyProviderFactoryImpl

          public ResteasyProviderFactoryImpl()

    - #### ResteasyProviderFactoryImpl

          public ResteasyProviderFactoryImpl​(javax.ws.rs.RuntimeType runtimeType)

      Create factory optimized for a Client
      Parameters:
        `runtimeType` -

    - #### ResteasyProviderFactoryImpl

          public ResteasyProviderFactoryImpl​(javax.ws.rs.RuntimeType runtimeType,
                                             ResteasyProviderFactory parent)

      Create factory optimized for a specific RuntimeType that is a copy of its parent (shallow copy if possible)
      Parameters:
        `runtimeType` -
        `parent` -

  - ### Method Detail

    - #### registerBuiltin

          protected void registerBuiltin()

      Specified by:
        `registerBuiltin` in class `ResteasyProviderFactory`

    - #### initializeCommon

          protected void initializeCommon​(ResteasyProviderFactoryImpl parent,
                                          boolean lockSnapshots,
                                          boolean snapFirst)

    - #### initialize

          protected void initialize()

    - #### lockSnapshots

          public void lockSnapshots()

    - #### getServerDynamicFeatures

          public Set<javax.ws.rs.container.DynamicFeature> getServerDynamicFeatures()

      Specified by:
        `getServerDynamicFeatures` in class `ResteasyProviderFactory`

    - #### getClientDynamicFeatures

          public Set<javax.ws.rs.container.DynamicFeature> getClientDynamicFeatures()

      Specified by:
        `getClientDynamicFeatures` in class `ResteasyProviderFactory`

    - #### getServerMessageBodyReaders

          protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyReader>> getServerMessageBodyReaders()

    - #### getServerMessageBodyWriters

          protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyWriter>> getServerMessageBodyWriters()

    - #### getClientMessageBodyReaders

          protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyReader>> getClientMessageBodyReaders()

    - #### getClientMessageBodyWriters

          protected MediaTypeMap<SortedKey<javax.ws.rs.ext.MessageBodyWriter>> getClientMessageBodyWriters()

    - #### getAsyncResponseProviders

          public Map<Class<?>,​AsyncResponseProvider> getAsyncResponseProviders()

      Specified by:
        `getAsyncResponseProviders` in class `ResteasyProviderFactory`

    - #### getAsyncStreamProviders

          public Map<Class<?>,​AsyncStreamProvider> getAsyncStreamProviders()

      Specified by:
        `getAsyncStreamProviders` in class `ResteasyProviderFactory`

    - #### getAsyncClientResponseProviders

          public Map<Class<?>,​AsyncClientResponseProvider> getAsyncClientResponseProviders()

      Specified by:
        `getAsyncClientResponseProviders` in class `ResteasyProviderFactory`

    - #### getContextInjectors

          public Map<Type,​ContextInjector> getContextInjectors()

      Specified by:
        `getContextInjectors` in class `ResteasyProviderFactory`

    - #### getAsyncContextInjectors

          public Map<Type,​ContextInjector> getAsyncContextInjectors()

      Specified by:
        `getAsyncContextInjectors` in class `ResteasyProviderFactory`

    - #### getContextResolvers

          protected Map<Class<?>,​MediaTypeMap<SortedKey<javax.ws.rs.ext.ContextResolver>>> getContextResolvers()

    - #### getSortedParamConverterProviders

          protected Set<ExtSortedKey<javax.ws.rs.ext.ParamConverterProvider>> getSortedParamConverterProviders()

    - #### getStringParameterUnmarshallers

          protected Map<Class<?>,​Class<? extends StringParameterUnmarshaller>> getStringParameterUnmarshallers()

    - #### getProviderClasses

          public Set<Class<?>> getProviderClasses()

      Gets provide classes.
      Specified by:
        `getProviderClasses` in class `ResteasyProviderFactory`
      Returns:
        set of provider classes

    - #### getProviderInstances

          public Set<Object> getProviderInstances()

      Gets provider instances.
      Specified by:
        `getProviderInstances` in class `ResteasyProviderFactory`
      Returns:
        set of provider instances

    - #### getClassContracts

          public Map<Class<?>,​Map<Class<?>,​Integer>> getClassContracts()

    - #### getContextData

          public <T> T getContextData​(Class<T> rawType,
                                      Type genericType,
                                      Annotation[] annotations,
                                      boolean unwrapAsync)

      Specified by:
        `getContextData` in class `ResteasyProviderFactory`

    - #### isRegisterBuiltins

          public boolean isRegisterBuiltins()

      Specified by:
        `isRegisterBuiltins` in class `ResteasyProviderFactory`

    - #### setRegisterBuiltins

          public void setRegisterBuiltins​(boolean registerBuiltins)

      Specified by:
        `setRegisterBuiltins` in class `ResteasyProviderFactory`

    - #### getInjectorFactory

          public InjectorFactory getInjectorFactory()

      Specified by:
        `getInjectorFactory` in class `ResteasyProviderFactory`

    - #### setInjectorFactory

          public void setInjectorFactory​(InjectorFactory injectorFactory)

      Specified by:
        `setInjectorFactory` in class `ResteasyProviderFactory`

    - #### getServerReaderInterceptorRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.ext.ReaderInterceptor> getServerReaderInterceptorRegistry()

      Specified by:
        `getServerReaderInterceptorRegistry` in class `ResteasyProviderFactory`

    - #### getServerWriterInterceptorRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.ext.WriterInterceptor> getServerWriterInterceptorRegistry()

      Specified by:
        `getServerWriterInterceptorRegistry` in class `ResteasyProviderFactory`

    - #### getContainerRequestFilterRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.container.ContainerRequestFilter> getContainerRequestFilterRegistry()

      Specified by:
        `getContainerRequestFilterRegistry` in class `ResteasyProviderFactory`

    - #### getContainerResponseFilterRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.container.ContainerResponseFilter> getContainerResponseFilterRegistry()

      Specified by:
        `getContainerResponseFilterRegistry` in class `ResteasyProviderFactory`

    - #### getClientReaderInterceptorRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.ext.ReaderInterceptor> getClientReaderInterceptorRegistry()

      Specified by:
        `getClientReaderInterceptorRegistry` in class `ResteasyProviderFactory`

    - #### getClientWriterInterceptorRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.ext.WriterInterceptor> getClientWriterInterceptorRegistry()

      Specified by:
        `getClientWriterInterceptorRegistry` in class `ResteasyProviderFactory`

    - #### getClientRequestFilterRegistry

          public JaxrsInterceptorRegistry<javax.ws.rs.client.ClientRequestFilter> getClientRequestFilterRegistry()

      Specified by:
        `getClientRequestFilterRegistry` in class `ResteasyProviderFactory`

    - #### getClientResponseFilters

          public JaxrsInterceptorRegistry<javax.ws.rs.client.ClientResponseFilter> getClientResponseFilters()

      Specified by:
        `getClientResponseFilters` in class `ResteasyProviderFactory`

    - #### isBuiltinsRegistered

          public boolean isBuiltinsRegistered()

      Specified by:
        `isBuiltinsRegistered` in class `ResteasyProviderFactory`

    - #### setBuiltinsRegistered

          public void setBuiltinsRegistered​(boolean builtinsRegistered)

      Specified by:
        `setBuiltinsRegistered` in class `ResteasyProviderFactory`

    - #### createUriBuilder

          public javax.ws.rs.core.UriBuilder createUriBuilder()

      Specified by:
        `createUriBuilder` in class `javax.ws.rs.ext.RuntimeDelegate`

    - #### createResponseBuilder

          public javax.ws.rs.core.Response.ResponseBuilder createResponseBuilder()

      Specified by:
        `createResponseBuilder` in class `javax.ws.rs.ext.RuntimeDelegate`

    - #### createVariantListBuilder

          public javax.ws.rs.core.Variant.VariantListBuilder createVariantListBuilder()

      Specified by:
        `createVariantListBuilder` in class `javax.ws.rs.ext.RuntimeDelegate`

    - #### createHeaderDelegate

          public <T> javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate<T> createHeaderDelegate​(Class<T> tClass)

      Specified by:
        `createHeaderDelegate` in class `javax.ws.rs.ext.RuntimeDelegate`

    - #### getHeaderDelegates

          protected Map<Class<?>,​javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate> getHeaderDelegates()

    - #### addHeaderDelegate

          public void addHeaderDelegate​(Class clazz,
                                        javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate header)

      Specified by:
        `addHeaderDelegate` in class `ResteasyProviderFactory`

    - #### addHeaderDelegateIfAbsent

          protected void addHeaderDelegateIfAbsent​(Class clazz,
                                                   javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate header)

    - #### getServerMessageBodyReader

          @Deprecated
          public <T> javax.ws.rs.ext.MessageBodyReader<T> getServerMessageBodyReader​(Class<T> type,
                                                                                     Type genericType,
                                                                                     Annotation[] annotations,
                                                                                     javax.ws.rs.core.MediaType mediaType)

      Deprecated.
      Specified by:
        `getServerMessageBodyReader` in class `ResteasyProviderFactory`

    - #### getServerMessageBodyReader

          public <T> javax.ws.rs.ext.MessageBodyReader<T> getServerMessageBodyReader​(Class<T> type,
                                                                                     Type genericType,
                                                                                     Annotation[] annotations,
                                                                                     javax.ws.rs.core.MediaType mediaType,
                                                                                     RESTEasyTracingLogger tracingLogger)

    - #### getMessageBodyReader

          public <T> javax.ws.rs.ext.MessageBodyReader<T> getMessageBodyReader​(Class<T> type,
                                                                               Type genericType,
                                                                               Annotation[] annotations,
                                                                               javax.ws.rs.core.MediaType mediaType)

      Always returns server MBRs.
      Specified by:
        `getMessageBodyReader` in interface `javax.ws.rs.ext.Providers`
      Type Parameters:
        `T` - type
      Parameters:
        `type` - the class of the object that is to be read.
        `genericType` - the type of object to be produced. E.g. if the message body is to be converted into a method parameter, this will be the formal type of the method parameter as returned by `Class.getGenericParameterTypes`.
        `annotations` - an array of the annotations on the declaration of the artifact that will be initialized with the produced instance. E.g. if the message body is to be converted into a method parameter, this will be the annotations on that parameter returned by `Class.getParameterAnnotations`.
        `mediaType` - the media type of the data that will be read.
      Returns:
        message reader

    - #### getClientMessageBodyReader

          public <T> javax.ws.rs.ext.MessageBodyReader<T> getClientMessageBodyReader​(Class<T> type,
                                                                                     Type genericType,
                                                                                     Annotation[] annotations,
                                                                                     javax.ws.rs.core.MediaType mediaType)

      Specified by:
        `getClientMessageBodyReader` in class `ResteasyProviderFactory`

    - #### addStringParameterUnmarshaller

          public void addStringParameterUnmarshaller​(Class<? extends StringParameterUnmarshaller> provider)

    - #### getContextResolvers

          public List<javax.ws.rs.ext.ContextResolver> getContextResolvers​(Class<?> clazz,
                                                                           javax.ws.rs.core.MediaType type)

      Specified by:
        `getContextResolvers` in class `ResteasyProviderFactory`

    - #### getParamConverter

          public javax.ws.rs.ext.ParamConverter getParamConverter​(Class clazz,
                                                                  Type genericType,
                                                                  Annotation[] annotations)

      Specified by:
        `getParamConverter` in class `ResteasyProviderFactory`

    - #### createStringParameterUnmarshaller

          public <T> StringParameterUnmarshaller<T> createStringParameterUnmarshaller​(Class<T> clazz)

      Specified by:
        `createStringParameterUnmarshaller` in class `ResteasyProviderFactory`

    - #### registerProvider

          public void registerProvider​(Class provider)

      Specified by:
        `registerProvider` in class `ResteasyProviderFactory`

    - #### toString

          public String toString​(Object object,
                                 Class clazz,
                                 Type genericType,
                                 Annotation[] annotations)

      Convert an object to a string. First try StringConverter then, object.ToString()
      Specified by:
        `toString` in class `ResteasyProviderFactory`
      Parameters:
        `object` - object
        `clazz` - class
        `genericType` - generic type
        `annotations` - array of annotation
      Returns:
        string representation

    - #### toHeaderString

          public String toHeaderString​(Object object)

      Description copied from interface: `HeaderValueProcessor`
      Convert an object to a header string. First try StringConverter, then HeaderDelegate, then object.toString().
      Specified by:
        `toHeaderString` in interface `HeaderValueProcessor`
      Parameters:
        `object` - header object
      Returns:
        header string representation

    - #### getHeaderDelegate

          public javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate getHeaderDelegate​(Class<?> aClass)

      Checks to see if RuntimeDelegate is a ResteasyProviderFactory If it is, then use that, otherwise use this.
      Specified by:
        `getHeaderDelegate` in class `ResteasyProviderFactory`
      Parameters:
        `aClass` - class of the header
      Returns:
        header delegate

    - #### registerProvider

          public void registerProvider​(Class provider,
                                       boolean isBuiltin)

      Register a @Provider class. Can be a MessageBodyReader/Writer or ExceptionMapper.
      Specified by:
        `registerProvider` in class `ResteasyProviderFactory`
      Parameters:
        `provider` - provider class
        `isBuiltin` - built-in

    - #### registerProvider

          public void registerProvider​(Class provider,
                                       Integer priorityOverride,
                                       boolean isBuiltin,
                                       Map<Class<?>,​Integer> contracts)

      Specified by:
        `registerProvider` in class `ResteasyProviderFactory`

    - #### getMutableProviderClasses

          public Set<Class<?>> getMutableProviderClasses()

    - #### addHeaderDelegate

          public void addHeaderDelegate​(Class provider)

    - #### getClientHelper

          public ClientHelper getClientHelper()

    - #### getServerHelper

          public ServerHelper getServerHelper()

    - #### addHeaderDelegate

          public void addHeaderDelegate​(Class<? extends javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate> provider,
                                        Class<?> headerClass)

    - #### addFeature

          public void addFeature​(Class<? extends javax.ws.rs.core.Feature> provider)

    - #### addInjectorFactory

          public void addInjectorFactory​(Class provider)
                                  throws InstantiationException,
                                         IllegalAccessException

      Throws:
        `InstantiationException`
        `IllegalAccessException`

    - #### addContextInjector

          public void addContextInjector​(Class provider)

    - #### addContextResolver

          public void addContextResolver​(Class provider,
                                         boolean isBuiltin,
                                         int priority)

    - #### addParameterConverterProvider

          public void addParameterConverterProvider​(Class provider,
                                                    boolean isBuiltin,
                                                    int priority)

    - #### registerProviderInstance

          public void registerProviderInstance​(Object provider)

      Register a @Provider object. Can be a MessageBodyReader/Writer or ExceptionMapper.
      Specified by:
        `registerProviderInstance` in class `ResteasyProviderFactory`
      Parameters:
        `provider` - provider instance

    - #### registerProviderInstance

          public void registerProviderInstance​(Object provider,
                                               Map<Class<?>,​Integer> contracts,
                                               Integer priorityOverride,
                                               boolean builtIn)

      Specified by:
        `registerProviderInstance` in class `ResteasyProviderFactory`

    - #### getExceptionMapper

          public <T extends Throwable> javax.ws.rs.ext.ExceptionMapper<T> getExceptionMapper​(Class<T> type)

      Specified by:
        `getExceptionMapper` in interface `javax.ws.rs.ext.Providers`

    - #### getExceptionMapperForClass

          public <T extends Throwable> javax.ws.rs.ext.ExceptionMapper<T> getExceptionMapperForClass​(Class<T> type)

    - #### getAsyncResponseProvider

          public <T> AsyncResponseProvider<T> getAsyncResponseProvider​(Class<T> type)

      Specified by:
        `getAsyncResponseProvider` in class `ResteasyProviderFactory`

    - #### getAsyncClientResponseProvider

          public <T> AsyncClientResponseProvider<T> getAsyncClientResponseProvider​(Class<T> type)

      Specified by:
        `getAsyncClientResponseProvider` in class `ResteasyProviderFactory`

    - #### getAsyncStreamProvider

          public <T> AsyncStreamProvider<T> getAsyncStreamProvider​(Class<T> type)

      Specified by:
        `getAsyncStreamProvider` in class `ResteasyProviderFactory`

    - #### getConcreteMediaTypeFromMessageBodyWriters

          public javax.ws.rs.core.MediaType getConcreteMediaTypeFromMessageBodyWriters​(Class<?> type,
                                                                                       Type genericType,
                                                                                       Annotation[] annotations,
                                                                                       javax.ws.rs.core.MediaType mediaType)

      Specified by:
        `getConcreteMediaTypeFromMessageBodyWriters` in class `ResteasyProviderFactory`

    - #### getPossibleMessageBodyWritersMap

          public Map<javax.ws.rs.ext.MessageBodyWriter<?>,​Class<?>> getPossibleMessageBodyWritersMap​(Class type,
                                                                                                           Type genericType,
                                                                                                           Annotation[] annotations,
                                                                                                           javax.ws.rs.core.MediaType accept)

      Specified by:
        `getPossibleMessageBodyWritersMap` in class `ResteasyProviderFactory`

    - #### getServerMessageBodyWriter

          @Deprecated
          public <T> javax.ws.rs.ext.MessageBodyWriter<T> getServerMessageBodyWriter​(Class<T> type,
                                                                                     Type genericType,
                                                                                     Annotation[] annotations,
                                                                                     javax.ws.rs.core.MediaType mediaType)

      Deprecated.
      Specified by:
        `getServerMessageBodyWriter` in class `ResteasyProviderFactory`

    - #### getServerMessageBodyWriter

          public <T> javax.ws.rs.ext.MessageBodyWriter<T> getServerMessageBodyWriter​(Class<T> type,
                                                                                     Type genericType,
                                                                                     Annotation[] annotations,
                                                                                     javax.ws.rs.core.MediaType mediaType,
                                                                                     RESTEasyTracingLogger tracingLogger)

    - #### getMessageBodyWriter

          public <T> javax.ws.rs.ext.MessageBodyWriter<T> getMessageBodyWriter​(Class<T> type,
                                                                               Type genericType,
                                                                               Annotation[] annotations,
                                                                               javax.ws.rs.core.MediaType mediaType)

      Always gets server MBW.
      Specified by:
        `getMessageBodyWriter` in interface `javax.ws.rs.ext.Providers`
      Type Parameters:
        `T` - type
      Parameters:
        `type` - the class of the object that is to be written.
        `genericType` - the type of object to be written. E.g. if the message body is to be produced from a field, this will be the declared type of the field as returned by `Field.getGenericType`.
        `annotations` - an array of the annotations on the declaration of the artifact that will be written. E.g. if the message body is to be produced from a field, this will be the annotations on that field returned by `Field.getDeclaredAnnotations`.
        `mediaType` - the media type of the data that will be written.
      Returns:
        message writer

    - #### getClientMessageBodyWriter

          public <T> javax.ws.rs.ext.MessageBodyWriter<T> getClientMessageBodyWriter​(Class<T> type,
                                                                                     Type genericType,
                                                                                     Annotation[] annotations,
                                                                                     javax.ws.rs.core.MediaType mediaType)

      Specified by:
        `getClientMessageBodyWriter` in class `ResteasyProviderFactory`

    - #### createEndpoint

          public <T> T createEndpoint​(javax.ws.rs.core.Application applicationConfig,
                                      Class<T> endpointType)
                               throws IllegalArgumentException,
                                      UnsupportedOperationException

      This is a spec method that is unsupported. It is an optional method anyways.
      Specified by:
        `createEndpoint` in class `javax.ws.rs.ext.RuntimeDelegate`
      Parameters:
        `applicationConfig` - application
        `endpointType` - endpoint type
      Returns:
        endpoint
      Throws:
        `IllegalArgumentException` - if applicationConfig is null
        `UnsupportedOperationException` - allways throw since this method is not supported

    - #### getContextResolver

          public <T> javax.ws.rs.ext.ContextResolver<T> getContextResolver​(Class<T> contextType,
                                                                           javax.ws.rs.core.MediaType mediaType)

      Specified by:
        `getContextResolver` in interface `javax.ws.rs.ext.Providers`

    - #### createProviderInstance

          public <T> T createProviderInstance​(Class<? extends T> clazz)

      Create an instance of a class using provider allocation rules of the specification as well as the InjectorFactory only does constructor injection.
      Specified by:
        `createProviderInstance` in class `ResteasyProviderFactory`
      Type Parameters:
        `T` - type
      Parameters:
        `clazz` - class
      Returns:
        provider instance of type T

    - #### injectedInstance

          public <T> T injectedInstance​(Class<? extends T> clazz)

      Property and constructor injection using the InjectorFactory.
      Specified by:
        `injectedInstance` in class `ResteasyProviderFactory`
      Type Parameters:
        `T` - type
      Parameters:
        `clazz` - class
      Returns:
        instance of type T

    - #### injectedInstance

          public <T> T injectedInstance​(Class<? extends T> clazz,
                                        HttpRequest request,
                                        HttpResponse response)

      Property and constructor injection using the InjectorFactory.
      Specified by:
        `injectedInstance` in class `ResteasyProviderFactory`
      Type Parameters:
        `T` - type
      Parameters:
        `clazz` - class
        `request` - http request
        `response` - http response
      Returns:
        instance of type T

    - #### getMutableProperties

          public Map<String,​Object> getMutableProperties()

      Specified by:
        `getMutableProperties` in class `ResteasyProviderFactory`

    - #### getProperties

          public Map<String,​Object> getProperties()

      Specified by:
        `getProperties` in interface `javax.ws.rs.core.Configuration`

    - #### getProperty

          public Object getProperty​(String name)

      Specified by:
        `getProperty` in interface `javax.ws.rs.core.Configuration`

    - #### setProperties

          public ResteasyProviderFactory setProperties​(Map<String,​Object> properties)

      Specified by:
        `setProperties` in class `ResteasyProviderFactory`

    - #### property

          public ResteasyProviderFactory property​(String name,
                                                  Object value)

      Specified by:
        `property` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### getEnabledFeatures

          public Collection<javax.ws.rs.core.Feature> getEnabledFeatures()

      Specified by:
        `getEnabledFeatures` in class `ResteasyProviderFactory`

    - #### register

          public ResteasyProviderFactory register​(Class<?> providerClass)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Object provider)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Class<?> componentClass,
                                                  int priority)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Class<?> componentClass,
                                                  Class<?>... contracts)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Object component,
                                                  int priority)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Object component,
                                                  Class<?>... contracts)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Class<?> componentClass,
                                                  Map<Class<?>,​Integer> contracts)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### register

          public ResteasyProviderFactory register​(Object component,
                                                  Map<Class<?>,​Integer> contracts)

      Specified by:
        `register` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### getConfiguration

          public javax.ws.rs.core.Configuration getConfiguration()

      Specified by:
        `getConfiguration` in interface `javax.ws.rs.core.Configurable<ResteasyProviderFactory>`

    - #### getRuntimeType

          public javax.ws.rs.RuntimeType getRuntimeType()

      Specified by:
        `getRuntimeType` in interface `javax.ws.rs.core.Configuration`

    - #### getPropertyNames

          public Collection<String> getPropertyNames()

      Specified by:
        `getPropertyNames` in interface `javax.ws.rs.core.Configuration`

    - #### isEnabled

          public boolean isEnabled​(javax.ws.rs.core.Feature feature)

      Specified by:
        `isEnabled` in interface `javax.ws.rs.core.Configuration`

    - #### isEnabled

          public boolean isEnabled​(Class<? extends javax.ws.rs.core.Feature> featureClass)

      Specified by:
        `isEnabled` in interface `javax.ws.rs.core.Configuration`

    - #### isRegistered

          public boolean isRegistered​(Object component)

      Specified by:
        `isRegistered` in interface `javax.ws.rs.core.Configuration`

    - #### isRegistered

          public boolean isRegistered​(Class<?> componentClass)

      Specified by:
        `isRegistered` in interface `javax.ws.rs.core.Configuration`

    - #### getContracts

          public Map<Class<?>,​Integer> getContracts​(Class<?> componentClass)

      Specified by:
        `getContracts` in interface `javax.ws.rs.core.Configuration`

    - #### getClasses

          public Set<Class<?>> getClasses()

      Specified by:
        `getClasses` in interface `javax.ws.rs.core.Configuration`

    - #### getInstances

          public Set<Object> getInstances()

      Specified by:
        `getInstances` in interface `javax.ws.rs.core.Configuration`

    - #### createLinkBuilder

          public javax.ws.rs.core.Link.Builder createLinkBuilder()

      Specified by:
        `createLinkBuilder` in class `javax.ws.rs.ext.RuntimeDelegate`

    - #### getRxInvokerProvider

          public <I extends javax.ws.rs.client.RxInvoker> javax.ws.rs.client.RxInvokerProvider<I> getRxInvokerProvider​(Class<I> clazz)

      Specified by:
        `getRxInvokerProvider` in class `ResteasyProviderFactory`

    - #### getRxInvokerProviderFromReactiveClass

          public javax.ws.rs.client.RxInvokerProvider<?> getRxInvokerProviderFromReactiveClass​(Class<?> clazz)

      Specified by:
        `getRxInvokerProviderFromReactiveClass` in class `ResteasyProviderFactory`

    - #### isReactive

          public boolean isReactive​(Class<?> clazz)

      Specified by:
        `isReactive` in class `ResteasyProviderFactory`

    - #### addResourceClassProcessor

          public void addResourceClassProcessor​(Class<ResourceClassProcessor> processorClass,
                                                int priority)

    - #### getResourceBuilder

          public ResourceBuilder getResourceBuilder()

      Specified by:
        `getResourceBuilder` in class `ResteasyProviderFactory`

    - #### getContextData

          public <T> T getContextData​(Class<T> type)

      Specified by:
        `getContextData` in class `ResteasyProviderFactory`

    - #### initializeClientProviders

          public void initializeClientProviders​(ResteasyProviderFactory factory)

      Specified by:
        `initializeClientProviders` in class `ResteasyProviderFactory`

    - #### injectProperties

          public void injectProperties​(Object obj)

      Specified by:
        `injectProperties` in class `ResteasyProviderFactory`

    - #### injectProperties

          public void injectProperties​(Object obj,
                                       HttpRequest request,
                                       HttpResponse response)

      Specified by:
        `injectProperties` in class `ResteasyProviderFactory`

    - #### getStatisticsController

          public StatisticsController getStatisticsController()

      Specified by:
        `getStatisticsController` in class `ResteasyProviderFactory`

    - #### isOnServer

          protected boolean isOnServer()

      Specified by:
        `isOnServer` in class `ResteasyProviderFactory`