public class ResteasyProviderFactory extends RuntimeDelegate implements Providers, HeaderValueProcessor, Configurable<ResteasyProviderFactory>, Configuration
Modifier and Type | Class and Description |
---|---|
protected static class |
ResteasyProviderFactory.SortedKey<T>
Allow us to sort message body implementations that are more specific for their types
i.e.
|
RuntimeDelegate.HeaderDelegate<T>
JAXRS_RUNTIME_DELEGATE_PROPERTY
Constructor and Description |
---|
ResteasyProviderFactory() |
ResteasyProviderFactory(ResteasyProviderFactory parent)
Copies a specific component registry when a new
provider is added.
|
ResteasyProviderFactory(ResteasyProviderFactory parent,
boolean local)
If local is true, copies components needed by client configuration,
so that parent is not referenced.
|
Modifier and Type | Method and Description |
---|---|
void |
addClientErrorInterceptor(ClientErrorInterceptor handler)
Add a
ClientErrorInterceptor to this provider factory instance. |
void |
addClientExceptionMapper(Class<? extends ClientExceptionMapper<?>> providerClass) |
void |
addClientExceptionMapper(ClientExceptionMapper<?> provider) |
void |
addClientExceptionMapper(ClientExceptionMapper<?> provider,
Class<?> providerClass) |
void |
addClientExceptionMapper(ClientExceptionMapper<?> provider,
Type exceptionType) |
protected void |
addClientMessageBodyReader(ResteasyProviderFactory.SortedKey<MessageBodyReader> key,
Consumes consumeMime) |
protected void |
addClientMessageBodyWriter(Produces consumeMime,
ResteasyProviderFactory.SortedKey<MessageBodyWriter> key) |
static Map<Class<?>,Object> |
addContextDataLevel() |
protected void |
addContextResolver(Class<? extends ContextResolver> resolver,
boolean builtin) |
protected void |
addContextResolver(ContextResolver provider) |
protected void |
addContextResolver(ContextResolver provider,
boolean builtin) |
protected void |
addContextResolver(ContextResolver provider,
Class providerClass,
boolean builtin) |
protected void |
addContextResolver(ContextResolver provider,
Type typeParameter,
Class providerClass,
boolean builtin) |
protected void |
addExceptionMapper(Class<? extends ExceptionMapper> providerClass) |
protected void |
addExceptionMapper(ExceptionMapper provider) |
protected void |
addExceptionMapper(ExceptionMapper provider,
Class providerClass) |
protected void |
addExceptionMapper(ExceptionMapper provider,
Type exceptionType) |
void |
addHeaderDelegate(Class clazz,
RuntimeDelegate.HeaderDelegate header) |
protected void |
addMessageBodyReader(Class<? extends MessageBodyReader> provider,
boolean isBuiltin) |
protected void |
addMessageBodyReader(MessageBodyReader provider) |
protected void |
addMessageBodyReader(MessageBodyReader provider,
boolean isBuiltin) |
protected void |
addMessageBodyReader(MessageBodyReader provider,
Class<?> providerClass,
boolean isBuiltin)
Specify the provider class.
|
protected void |
addMessageBodyWriter(Class<? extends MessageBodyWriter> provider,
boolean isBuiltin) |
protected void |
addMessageBodyWriter(MessageBodyWriter provider) |
protected void |
addMessageBodyWriter(MessageBodyWriter provider,
Class<?> providerClass,
boolean isBuiltin)
Specify the provider class.
|
protected void |
addServerMessageBodyReader(ResteasyProviderFactory.SortedKey<MessageBodyReader> key,
Consumes consumeMime) |
protected void |
addServerMessageBodyWriter(Produces consumeMime,
ResteasyProviderFactory.SortedKey<MessageBodyWriter> key) |
protected void |
addStringConverter(Class<? extends StringConverter> resolver) |
protected void |
addStringConverter(StringConverter provider) |
protected void |
addStringConverter(StringConverter provider,
Class providerClass) |
protected void |
addStringConverter(StringConverter provider,
Type typeParameter) |
void |
addStringParameterUnmarshaller(Class<? extends StringParameterUnmarshaller> provider) |
void |
appendInterceptorPrecedence(String precedence)
Deprecated.
|
static void |
clearContextData() |
static void |
clearInstanceIfEqual(ResteasyProviderFactory factory) |
<T> ConstructorInjector |
createConstructorInjector(Class<? extends T> clazz) |
<T> T |
createEndpoint(Application applicationConfig,
Class<T> endpointType)
this is a spec method that is unsupported.
|
<T> RuntimeDelegate.HeaderDelegate<T> |
createHeaderDelegate(Class<T> tClass)
Obtain an instance of a
RuntimeDelegate.HeaderDelegate for the supplied class. |
protected <T> RuntimeDelegate.HeaderDelegate<T> |
createHeaderDelegateFromInterfaces(Class<?>[] interfaces) |
Link.Builder |
createLinkBuilder()
Create a new instance of a
Link.Builder . |
<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
|
Response.ResponseBuilder |
createResponseBuilder()
Create a new instance of a
Response.ResponseBuilder . |
<T> StringParameterUnmarshaller<T> |
createStringParameterUnmarshaller(Class<T> clazz) |
UriBuilder |
createUriBuilder()
Create a new instance of a
UriBuilder . |
Variant.VariantListBuilder |
createVariantListBuilder()
Create a new instance of a
Variant.VariantListBuilder . |
Map<Class<?>,Map<Class<?>,Integer>> |
getClassContracts() |
Set<Class<?>> |
getClasses()
Get the immutable set of registered JAX-RS component (such as provider or
feature ) classes to be instantiated, injected and utilized in the scope
of the configurable instance. |
Set<DynamicFeature> |
getClientDynamicFeatures() |
List<ClientErrorInterceptor> |
getClientErrorInterceptors()
Return the list of currently registered
ClientErrorInterceptor instances. |
<T extends Throwable> |
getClientExceptionMapper(Class<T> type) |
protected Map<Class<?>,ClientExceptionMapper> |
getClientExceptionMappers() |
InterceptorRegistry<ClientExecutionInterceptor> |
getClientExecutionInterceptorRegistry() |
<T> MessageBodyReader<T> |
getClientMessageBodyReader(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType) |
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> |
getClientMessageBodyReaders() |
<T> MessageBodyWriter<T> |
getClientMessageBodyWriter(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType) |
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> |
getClientMessageBodyWriters() |
ReaderInterceptorRegistry |
getClientReaderInterceptorRegistry() |
JaxrsInterceptorRegistry<ClientRequestFilter> |
getClientRequestFilters() |
ClientResponseFilterRegistry |
getClientResponseFilters() |
WriterInterceptorRegistry |
getClientWriterInterceptorRegistry() |
MediaType |
getConcreteMediaTypeFromMessageBodyWriters(Class type,
Type genericType,
Annotation[] annotations,
MediaType mediaType) |
Configuration |
getConfiguration()
Get a live view of an internal configuration state of this configurable instance.
|
ContainerRequestFilterRegistry |
getContainerRequestFilterRegistry() |
ContainerResponseFilterRegistry |
getContainerResponseFilterRegistry() |
static <T> T |
getContextData(Class<T> type) |
static int |
getContextDataLevelCount() |
static Map<Class<?>,Object> |
getContextDataMap() |
<T> ContextResolver<T> |
getContextResolver(Class<T> contextType,
MediaType mediaType)
Get a context resolver for a particular type of context and media type.
|
protected Map<Class<?>,MediaTypeMap<ResteasyProviderFactory.SortedKey<ContextResolver>>> |
getContextResolvers() |
List<ContextResolver> |
getContextResolvers(Class<?> clazz,
MediaType type) |
Map<Class<?>,Integer> |
getContracts(Class<?> componentClass)
Get the extension contract registration information for a component of a given class.
|
Collection<Feature> |
getEnabledFeatures() |
<T extends Throwable> |
getExceptionMapper(Class<T> type)
Get an exception mapping provider for a particular class of exception.
|
Map<Class<?>,ExceptionMapper> |
getExceptionMappers() |
Set<Class<?>> |
getFeatureClasses() |
Set<Object> |
getFeatureInstances() |
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<?>,RuntimeDelegate.HeaderDelegate> |
getHeaderDelegates() |
InjectorFactory |
getInjectorFactory() |
static ResteasyProviderFactory |
getInstance()
Initializes ResteasyProviderFactory singleton if not set
|
Set<Object> |
getInstances()
Get the immutable set of registered JAX-RS component (such as provider or
feature ) instances to be utilized by the configurable instance. |
<T> MessageBodyReader<T> |
getMessageBodyReader(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
Always returns server MBRs
|
<T> MessageBodyWriter<T> |
getMessageBodyWriter(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType)
Always gets server MBW
|
Map<String,Object> |
getMutableProperties() |
ParamConverter |
getParamConverter(Class clazz,
Type genericType,
Annotation[] annotations) |
protected List<ParamConverterProvider> |
getParamConverterProviders() |
ResteasyProviderFactory |
getParent() |
Map<MessageBodyWriter<?>,Class<?>> |
getPossibleMessageBodyWritersMap(Class type,
Type genericType,
Annotation[] annotations,
MediaType accept) |
protected LegacyPrecedence |
getPrecedence() |
protected int |
getPriority(Integer override,
Map<Class<?>,Integer> contracts,
Class type,
Class<?> component) |
Map<String,Object> |
getProperties()
Get the immutable bag of configuration properties.
|
Object |
getProperty(String name)
Get the value for the property with a given name.
|
Collection<String> |
getPropertyNames()
Returns an immutable
collection containing the
property names available within the context of the current configuration instance. |
Set<Class<?>> |
getProviderClasses()
Copy
|
Set<Object> |
getProviderInstances()
Copy
|
RuntimeType |
getRuntimeType()
Get the runtime type of this configuration context.
|
Set<DynamicFeature> |
getServerDynamicFeatures() |
<T> MessageBodyReader<T> |
getServerMessageBodyReader(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType) |
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> |
getServerMessageBodyReaders() |
<T> MessageBodyWriter<T> |
getServerMessageBodyWriter(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType) |
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> |
getServerMessageBodyWriters() |
ReaderInterceptorRegistry |
getServerReaderInterceptorRegistry() |
WriterInterceptorRegistry |
getServerWriterInterceptorRegistry() |
StringConverter |
getStringConverter(Class<?> clazz) |
protected Map<Class<?>,StringConverter> |
getStringConverters() |
protected Map<Class<?>,Class<? extends StringParameterUnmarshaller>> |
getStringParameterUnmarshallers() |
protected void |
initialize() |
<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(Class declaring,
Object obj) |
void |
injectProperties(Object obj) |
void |
injectProperties(Object obj,
HttpRequest request,
HttpResponse response) |
void |
insertInterceptorPrecedenceAfter(String after,
String newPrecedence)
Deprecated.
|
void |
insertInterceptorPrecedenceBefore(String before,
String newPrecedence)
Deprecated.
|
protected boolean |
isA(Class target,
Class type,
Map<Class<?>,Integer> contracts) |
protected boolean |
isA(Object target,
Class type,
Map<Class<?>,Integer> contracts) |
boolean |
isBuiltinsRegistered() |
boolean |
isEnabled(Class<? extends Feature> featureClass)
Check if a
feature instance of featureClass class has been
previously enabled in the runtime configuration context. |
boolean |
isEnabled(Feature feature)
Check if a particular
feature instance has been previously
enabled in the runtime configuration context. |
boolean |
isRegisterBuiltins() |
boolean |
isRegistered(Class<?> componentClass)
Check if a JAX-RS component of the supplied
componentClass class has been previously
registered in the runtime configuration context. |
boolean |
isRegistered(Object component)
Check if a particular JAX-RS
component instance (such as providers or
features ) has been previously registered in the runtime configuration context. |
static ResteasyProviderFactory |
peekInstance()
Will not initialize singleton if not set
|
static <T> T |
popContextData(Class<T> type) |
ResteasyProviderFactory |
property(String name,
Object value)
Set the new configuration property, if already set, the existing value of
the property will be updated.
|
static <T> void |
pushContext(Class<T> type,
T data) |
static void |
pushContextDataMap(Map<Class<?>,Object> map) |
ResteasyProviderFactory |
register(Class<?> providerClass)
Register a class of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Class<?> componentClass,
Class<?>... contracts)
Register a class of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Class<?> componentClass,
int priority)
Register a class of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Class<?> componentClass,
Map<Class<?>,Integer> contracts)
Register a class of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Object provider)
Register an instance of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Object component,
Class<?>... contracts)
Register an instance of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Object component,
int priority)
Register an instance of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
ResteasyProviderFactory |
register(Object component,
Map<Class<?>,Integer> contracts)
Register an instance of a custom JAX-RS component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
protected void |
registerDefaultInterceptorPrecedences() |
protected void |
registerDefaultInterceptorPrecedences(InterceptorRegistry registry) |
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) |
static void |
removeContextDataLevel() |
protected <T> MessageBodyReader<T> |
resolveMessageBodyReader(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> availableReaders) |
protected <T> MessageBodyWriter<T> |
resolveMessageBodyWriter(Class<T> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> availableWriters) |
void |
setBuiltinsRegistered(boolean builtinsRegistered) |
void |
setInjectorFactory(InjectorFactory injectorFactory) |
static void |
setInstance(ResteasyProviderFactory factory) |
ResteasyProviderFactory |
setProperties(Map<String,?> properties) |
static void |
setRegisterBuiltinByDefault(boolean registerBuiltinByDefault) |
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.
|
setInstance
protected static AtomicReference<ResteasyProviderFactory> pfr
protected static ThreadLocalStack<Map<Class<?>,Object>> contextualData
protected static int maxForwards
protected static volatile ResteasyProviderFactory instance
public static boolean registerBuiltinByDefault
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> serverMessageBodyReaders
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> serverMessageBodyWriters
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> clientMessageBodyReaders
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> clientMessageBodyWriters
protected Map<Class<?>,ExceptionMapper> exceptionMappers
protected Map<Class<?>,ClientExceptionMapper> clientExceptionMappers
protected Map<Class<?>,MediaTypeMap<ResteasyProviderFactory.SortedKey<ContextResolver>>> contextResolvers
protected Map<Class<?>,StringConverter> stringConverters
protected List<ParamConverterProvider> paramConverterProviders
protected Map<Class<?>,Class<? extends StringParameterUnmarshaller>> stringParameterUnmarshallers
protected Map<Class<?>,RuntimeDelegate.HeaderDelegate> headerDelegates
protected LegacyPrecedence precedence
protected ReaderInterceptorRegistry serverReaderInterceptorRegistry
protected WriterInterceptorRegistry serverWriterInterceptorRegistry
protected ContainerRequestFilterRegistry containerRequestFilterRegistry
protected ContainerResponseFilterRegistry containerResponseFilterRegistry
protected JaxrsInterceptorRegistry<ClientRequestFilter> clientRequestFilters
protected ClientResponseFilterRegistry clientResponseFilters
protected ReaderInterceptorRegistry clientReaderInterceptorRegistry
protected WriterInterceptorRegistry clientWriterInterceptorRegistry
protected InterceptorRegistry<ClientExecutionInterceptor> clientExecutionInterceptorRegistry
protected List<ClientErrorInterceptor> clientErrorInterceptors
protected boolean builtinsRegistered
protected boolean registerBuiltins
protected InjectorFactory injectorFactory
protected ResteasyProviderFactory parent
protected Set<DynamicFeature> serverDynamicFeatures
protected Set<DynamicFeature> clientDynamicFeatures
public ResteasyProviderFactory()
public ResteasyProviderFactory(ResteasyProviderFactory parent)
parent
- public ResteasyProviderFactory(ResteasyProviderFactory parent, boolean local)
parent
- local
- protected void initialize()
public Set<DynamicFeature> getServerDynamicFeatures()
public Set<DynamicFeature> getClientDynamicFeatures()
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> getServerMessageBodyReaders()
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> getServerMessageBodyWriters()
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> getClientMessageBodyReaders()
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> getClientMessageBodyWriters()
public Map<Class<?>,ExceptionMapper> getExceptionMappers()
protected Map<Class<?>,ClientExceptionMapper> getClientExceptionMappers()
protected Map<Class<?>,MediaTypeMap<ResteasyProviderFactory.SortedKey<ContextResolver>>> getContextResolvers()
protected Map<Class<?>,StringConverter> getStringConverters()
protected List<ParamConverterProvider> getParamConverterProviders()
protected Map<Class<?>,Class<? extends StringParameterUnmarshaller>> getStringParameterUnmarshallers()
protected LegacyPrecedence getPrecedence()
public ResteasyProviderFactory getParent()
protected void registerDefaultInterceptorPrecedences(InterceptorRegistry registry)
protected void registerDefaultInterceptorPrecedences()
@Deprecated public void appendInterceptorPrecedence(String precedence)
precedence
- @Deprecated public void insertInterceptorPrecedenceAfter(String after, String newPrecedence)
after
- put newPrecedence after thisnewPrecedence
- @Deprecated public void insertInterceptorPrecedenceBefore(String before, String newPrecedence)
before
- put newPrecedence before thisnewPrecedence
- public static <T> void pushContext(Class<T> type, T data)
public static <T> T getContextData(Class<T> type)
public static <T> T popContextData(Class<T> type)
public static void clearContextData()
public static int getContextDataLevelCount()
public static void removeContextDataLevel()
public static ResteasyProviderFactory peekInstance()
public static void clearInstanceIfEqual(ResteasyProviderFactory factory)
public static void setInstance(ResteasyProviderFactory factory)
public static ResteasyProviderFactory getInstance()
public static void setRegisterBuiltinByDefault(boolean registerBuiltinByDefault)
public boolean isRegisterBuiltins()
public void setRegisterBuiltins(boolean registerBuiltins)
public InjectorFactory getInjectorFactory()
public void setInjectorFactory(InjectorFactory injectorFactory)
public InterceptorRegistry<ClientExecutionInterceptor> getClientExecutionInterceptorRegistry()
public ReaderInterceptorRegistry getServerReaderInterceptorRegistry()
public WriterInterceptorRegistry getServerWriterInterceptorRegistry()
public ContainerRequestFilterRegistry getContainerRequestFilterRegistry()
public ContainerResponseFilterRegistry getContainerResponseFilterRegistry()
public ReaderInterceptorRegistry getClientReaderInterceptorRegistry()
public WriterInterceptorRegistry getClientWriterInterceptorRegistry()
public JaxrsInterceptorRegistry<ClientRequestFilter> getClientRequestFilters()
public ClientResponseFilterRegistry getClientResponseFilters()
public boolean isBuiltinsRegistered()
public void setBuiltinsRegistered(boolean builtinsRegistered)
public UriBuilder createUriBuilder()
RuntimeDelegate
UriBuilder
.createUriBuilder
in class RuntimeDelegate
UriBuilder
instance.UriBuilder
public Response.ResponseBuilder createResponseBuilder()
RuntimeDelegate
Response.ResponseBuilder
.createResponseBuilder
in class RuntimeDelegate
ResponseBuilder
instance.Response.ResponseBuilder
public Variant.VariantListBuilder createVariantListBuilder()
RuntimeDelegate
Variant.VariantListBuilder
.createVariantListBuilder
in class RuntimeDelegate
VariantListBuilder
instance.Variant.VariantListBuilder
public <T> RuntimeDelegate.HeaderDelegate<T> createHeaderDelegate(Class<T> tClass)
RuntimeDelegate
RuntimeDelegate.HeaderDelegate
for the supplied class. An
implementation is required to support the following values for type:
CacheControl
, Cookie
,
EntityTag
, Link
,
NewCookie
, MediaType
and java.util.Date
.createHeaderDelegate
in class RuntimeDelegate
T
- header type.tClass
- the class of the header.HeaderDelegate
for the supplied type.RuntimeDelegate.HeaderDelegate
protected <T> RuntimeDelegate.HeaderDelegate<T> createHeaderDelegateFromInterfaces(Class<?>[] interfaces)
protected Map<Class<?>,RuntimeDelegate.HeaderDelegate> getHeaderDelegates()
public void addHeaderDelegate(Class clazz, RuntimeDelegate.HeaderDelegate header)
protected void addMessageBodyReader(Class<? extends MessageBodyReader> provider, boolean isBuiltin)
protected void addMessageBodyReader(MessageBodyReader provider)
protected void addMessageBodyReader(MessageBodyReader provider, boolean isBuiltin)
protected void addMessageBodyReader(MessageBodyReader provider, Class<?> providerClass, boolean isBuiltin)
provider
- providerClass
- isBuiltin
- protected void addServerMessageBodyReader(ResteasyProviderFactory.SortedKey<MessageBodyReader> key, Consumes consumeMime)
protected void addClientMessageBodyReader(ResteasyProviderFactory.SortedKey<MessageBodyReader> key, Consumes consumeMime)
protected void addMessageBodyWriter(Class<? extends MessageBodyWriter> provider, boolean isBuiltin)
protected void addMessageBodyWriter(MessageBodyWriter provider)
protected void addMessageBodyWriter(MessageBodyWriter provider, Class<?> providerClass, boolean isBuiltin)
provider
- providerClass
- isBuiltin
- protected void addServerMessageBodyWriter(Produces consumeMime, ResteasyProviderFactory.SortedKey<MessageBodyWriter> key)
protected void addClientMessageBodyWriter(Produces consumeMime, ResteasyProviderFactory.SortedKey<MessageBodyWriter> key)
public <T> MessageBodyReader<T> getServerMessageBodyReader(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType)
public <T> MessageBodyReader<T> getMessageBodyReader(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType)
getMessageBodyReader
in interface Providers
T
- 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.public <T> MessageBodyReader<T> getClientMessageBodyReader(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType)
protected <T> MessageBodyReader<T> resolveMessageBodyReader(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType, MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> availableReaders)
protected void addExceptionMapper(Class<? extends ExceptionMapper> providerClass)
protected void addExceptionMapper(ExceptionMapper provider)
protected void addExceptionMapper(ExceptionMapper provider, Class providerClass)
protected void addExceptionMapper(ExceptionMapper provider, Type exceptionType)
public void addClientExceptionMapper(Class<? extends ClientExceptionMapper<?>> providerClass)
public void addClientExceptionMapper(ClientExceptionMapper<?> provider)
public void addClientExceptionMapper(ClientExceptionMapper<?> provider, Class<?> providerClass)
public void addClientExceptionMapper(ClientExceptionMapper<?> provider, Type exceptionType)
public void addClientErrorInterceptor(ClientErrorInterceptor handler)
ClientErrorInterceptor
to this provider factory instance.
Duplicate handlers are ignored. (For Client Proxy API only)public List<ClientErrorInterceptor> getClientErrorInterceptors()
ClientErrorInterceptor
instances.protected void addContextResolver(Class<? extends ContextResolver> resolver, boolean builtin)
protected void addContextResolver(ContextResolver provider)
protected void addContextResolver(ContextResolver provider, boolean builtin)
protected void addContextResolver(ContextResolver provider, Class providerClass, boolean builtin)
protected void addContextResolver(ContextResolver provider, Type typeParameter, Class providerClass, boolean builtin)
protected void addStringConverter(Class<? extends StringConverter> resolver)
protected void addStringConverter(StringConverter provider)
protected void addStringConverter(StringConverter provider, Class providerClass)
protected void addStringConverter(StringConverter provider, Type typeParameter)
public void addStringParameterUnmarshaller(Class<? extends StringParameterUnmarshaller> provider)
public List<ContextResolver> getContextResolvers(Class<?> clazz, MediaType type)
public ParamConverter getParamConverter(Class clazz, Type genericType, Annotation[] annotations)
public StringConverter getStringConverter(Class<?> clazz)
public <T> StringParameterUnmarshaller<T> createStringParameterUnmarshaller(Class<T> clazz)
public void registerProvider(Class provider)
public String toString(Object object, Class clazz, Type genericType, Annotation[] annotations)
object
- public String toHeaderString(Object object)
HeaderValueProcessor
toHeaderString
in interface HeaderValueProcessor
public RuntimeDelegate.HeaderDelegate getHeaderDelegate(Class<?> aClass)
aClass
- public void registerProvider(Class provider, boolean isBuiltin)
provider
- protected int getPriority(Integer override, Map<Class<?>,Integer> contracts, Class type, Class<?> component)
public void registerProvider(Class provider, Integer priorityOverride, boolean isBuiltin, Map<Class<?>,Integer> contracts)
public void registerProviderInstance(Object provider)
provider
- public void registerProviderInstance(Object provider, Map<Class<?>,Integer> contracts, Integer priorityOverride, boolean builtIn)
public <T extends Throwable> ExceptionMapper<T> getExceptionMapper(Class<T> type)
Providers
type
.getExceptionMapper
in interface Providers
T
- type of the exception handled by the exception mapping provider.type
- the class of exception.ExceptionMapper
for the supplied type or null
if none is found.public <T extends Throwable> ClientExceptionMapper<T> getClientExceptionMapper(Class<T> type)
public MediaType getConcreteMediaTypeFromMessageBodyWriters(Class type, Type genericType, Annotation[] annotations, MediaType mediaType)
public Map<MessageBodyWriter<?>,Class<?>> getPossibleMessageBodyWritersMap(Class type, Type genericType, Annotation[] annotations, MediaType accept)
public <T> MessageBodyWriter<T> getServerMessageBodyWriter(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType)
public <T> MessageBodyWriter<T> getMessageBodyWriter(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType)
getMessageBodyWriter
in interface Providers
T
- 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.public <T> MessageBodyWriter<T> getClientMessageBodyWriter(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType)
protected <T> MessageBodyWriter<T> resolveMessageBodyWriter(Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType, MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> availableWriters)
public <T> T createEndpoint(Application applicationConfig, Class<T> endpointType) throws IllegalArgumentException, UnsupportedOperationException
createEndpoint
in class RuntimeDelegate
T
- endpoint type.applicationConfig
- endpointType
- IllegalArgumentException
UnsupportedOperationException
public <T> ContextResolver<T> getContextResolver(Class<T> contextType, MediaType mediaType)
Providers
mediaType
with the value of each resolver's
Produces
, ensuring the generic type of the context
resolver is assignable to the supplied value of contextType
, and
eliminating those that do not match. If only one resolver matches the
criteria then it is returned. If more than one resolver matches then the
list of matching resolvers is ordered with those with the best
matching values of Produces
(x/y > x/* > */*)
sorted first. A proxy is returned that delegates calls to
ContextResolver.getContext(java.lang.Class)
to each matching context
resolver in order and returns the first non-null value it obtains or null
if all matching context resolvers return null.getContextResolver
in interface Providers
T
- type of the context.contextType
- the class of context desired.mediaType
- the media type of data for which a context is required.null
if no matching
context providers are found.public <T> T createProviderInstance(Class<? extends T> clazz)
T
- clazz
- public <T> ConstructorInjector createConstructorInjector(Class<? extends T> clazz)
public <T> T injectedInstance(Class<? extends T> clazz)
T
- clazz
- public <T> T injectedInstance(Class<? extends T> clazz, HttpRequest request, HttpResponse response)
T
- clazz
- public void injectProperties(Object obj)
public void injectProperties(Object obj, HttpRequest request, HttpResponse response)
public Map<String,Object> getProperties()
Configuration
getProperties
in interface Configuration
public Object getProperty(String name)
Configuration
getProperty
in interface Configuration
name
- property name.null
if the property with such name is not configured.public ResteasyProviderFactory setProperties(Map<String,?> properties)
public ResteasyProviderFactory property(String name, Object value)
Configurable
null
value into a property
effectively removes the property from the property bag.property
in interface Configurable<ResteasyProviderFactory>
name
- property name.value
- (new) property value. null
value removes the property
with the given name.public Collection<Feature> getEnabledFeatures()
public ResteasyProviderFactory register(Class<?> providerClass)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
Implementations SHOULD warn about and ignore registrations that do not
conform to the requirements of supported JAX-RS component types in the
given configurable context. Any subsequent registration attempts for a component
type, for which a class or instance-based registration already exists in the system
MUST be rejected by the JAX-RS implementation and a warning SHOULD be raised to
inform the user about the rejected registration.
The registered JAX-RS component class is registered as a contract provider of
all the recognized JAX-RS or implementation-specific extension contracts including
meta-provider contracts, such as Feature
or DynamicFeature
.
As opposed to component instances registered via Configurable.register(Object)
method,
the lifecycle of components registered using this class-based register(...)
method is fully managed by the JAX-RS implementation or any underlying IoC
container supported by the implementation.
register
in interface Configurable<ResteasyProviderFactory>
providerClass
- JAX-RS component class to be configured in the scope of this
configurable context.public ResteasyProviderFactory register(Object provider)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
Implementations SHOULD warn about and ignore registrations that do not
conform to the requirements of supported JAX-RS component types in the
given configurable context. Any subsequent registration attempts for a component
type, for which a class or instance-based registration already exists in the system
MUST be rejected by the JAX-RS implementation and a warning SHOULD be raised to
inform the user about the rejected registration.
The registered JAX-RS component is registered as a contract provider of
all the recognized JAX-RS or implementation-specific extension contracts including
meta-provider contracts, such as Feature
or DynamicFeature
.
As opposed to components registered via Configurable.register(Class)
method,
the lifecycle of providers registered using this instance-based register(...)
is not managed by JAX-RS runtime. The same registered component instance is used during
the whole lifespan of the configurable context.
Fields and properties of all registered JAX-RS component instances are injected with their
declared dependencies (see Context
) by the JAX-RS runtime prior to use.
register
in interface Configurable<ResteasyProviderFactory>
provider
- JAX-RS component instance to be configured in the scope of this
configurable context.public ResteasyProviderFactory register(Class<?> componentClass, int priority)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Class)
except that any priority specified on the registered JAX-RS component class via
@Priority
annotation is overridden
with the supplied priority
value.
Note that in case the priority is not applicable to a particular
provider contract implemented by the class of the registered component, the supplied
priority
value will be ignored for that contract.
register
in interface Configurable<ResteasyProviderFactory>
componentClass
- JAX-RS component class to be configured in the scope of this
configurable context.priority
- the overriding priority for the registered component
and all the provider contracts the component implements.public ResteasyProviderFactory register(Class<?> componentClass, Class<?>... contracts)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Class)
except the JAX-RS component class is only registered as a provider of the listed
extension provider or meta-provider contracts
.
All explicitly enumerated contract types must represent a class or an interface
implemented or extended by the registered component. Contracts that are not
assignable from
the registered component class
MUST be ignored and implementations SHOULD raise a warning to inform users about the
ignored contract(s).
register
in interface Configurable<ResteasyProviderFactory>
componentClass
- JAX-RS component class to be configured in the scope of this
configurable context.contracts
- the specific extension provider or meta-provider contracts
implemented by the component for which the component should
be registered.
Implementations MUST ignore attempts to register a component
class for an empty or null
collection of contracts via
this method and SHOULD raise a warning about such event.public ResteasyProviderFactory register(Object component, int priority)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Object)
except that any priority specified on the registered JAX-RS component class via
@Priority
annotation is overridden
with the supplied priority
value.
Note that in case the priority is not applicable to a particular
provider contract implemented by the class of the registered component, the supplied
priority
value will be ignored for that contract.
register
in interface Configurable<ResteasyProviderFactory>
component
- JAX-RS component instance to be configured in the scope of this
configurable context.priority
- the overriding priority for the registered component
and all the provider contracts the component implements.public ResteasyProviderFactory register(Object component, Class<?>... contracts)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Object)
except the JAX-RS component class is only registered as a provider of the listed
extension provider or meta-provider contracts
.
All explicitly enumerated contract types must represent a class or an interface
implemented or extended by the registered component. Contracts that are not
assignable from
the registered component class
MUST be ignored and implementations SHOULD raise a warning to inform users about the
ignored contract(s).
register
in interface Configurable<ResteasyProviderFactory>
component
- JAX-RS component instance to be configured in the scope of this
configurable context.contracts
- the specific extension provider or meta-provider contracts
implemented by the component for which the component should
be registered.
Implementations MUST ignore attempts to register a component
class for an empty or null
collection of contracts via
this method and SHOULD raise a warning about such event.public ResteasyProviderFactory register(Class<?> componentClass, Map<Class<?>,Integer> contracts)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides same functionality as Configurable.register(Class, Class[])
except that any priority specified on the registered JAX-RS component class using
@Priority
annotation is overridden
for each extension provider contract type separately with an integer priority value
specified as a value in the supplied map of [contract type, priority] pairs.
Note that in case a priority is not applicable to a provider contract registered for the JAX-RS component, the supplied priority value is ignored for such contract.
register
in interface Configurable<ResteasyProviderFactory>
componentClass
- JAX-RS component class to be configured in the scope of this
configurable context.contracts
- map of the specific extension provider and meta-provider contracts
and their associated priorities for which the JAX-RS component
is registered.
All contracts in the map must represent a class or an interface
implemented or extended by the JAX-RS component. Contracts that are
not assignable from
the registered
component class MUST be ignored and implementations SHOULD raise a warning
to inform users about the ignored contract(s).public ResteasyProviderFactory register(Object component, Map<Class<?>,Integer> contracts)
Configurable
feature
meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides same functionality as Configurable.register(Object, Class[])
except that any priority specified on the registered JAX-RS component class using
@Priority
annotation is overridden
for each extension provider contract type separately with an integer priority value
specified as a value in the supplied map of [contract type, priority] pairs.
Note that in case a priority is not applicable to a provider contract registered for the JAX-RS component, the supplied priority value is ignored for such contract.
register
in interface Configurable<ResteasyProviderFactory>
component
- JAX-RS component instance to be configured in the scope of this
configurable context.contracts
- map of the specific extension provider and meta-provider contracts
and their associated priorities for which the JAX-RS component
is registered.
All contracts in the map must represent a class or an interface
implemented or extended by the JAX-RS component. Contracts that are
not assignable from
the registered
component class MUST be ignored and implementations SHOULD raise a warning
to inform users about the ignored contract(s).public Configuration getConfiguration()
Configurable
Configurable
instance will be reflected
in the returned Configuration
instance.
The returned Configuration
instance and the collection data it provides are not
thread-safe wrt. modification made using methods on the parent configurable object.
getConfiguration
in interface Configurable<ResteasyProviderFactory>
public RuntimeType getRuntimeType()
Configuration
getRuntimeType
in interface Configuration
public Collection<String> getPropertyNames()
Configuration
collection
containing the
property names available within the context of the current configuration instance.
Use the Configuration.getProperty(java.lang.String)
method with a property name to get the value of
a property.
getPropertyNames
in interface Configuration
collection
of property names.Configuration.getProperty(java.lang.String)
public boolean isEnabled(Feature feature)
Configuration
feature
instance has been previously
enabled in the runtime configuration context.
Method returns true
only in case an instance equal to the feature
instance is already present among the features previously successfully enabled in
the configuration context.
isEnabled
in interface Configuration
feature
- a feature instance to test for.true
if the feature instance has been previously enabled in this
configuration context, false
otherwise.public boolean isEnabled(Class<? extends Feature> featureClass)
Configuration
feature
instance of featureClass
class has been
previously enabled in the runtime configuration context.
Method returns true
in case any instance of the featureClass
class is
already present among the features previously successfully enabled in the configuration
context.
isEnabled
in interface Configuration
featureClass
- a feature class to test for.true
if a feature of a given class has been previously enabled in this
configuration context, false
otherwise.public boolean isRegistered(Object component)
Configuration
component
instance (such as providers or
features
) has been previously registered in the runtime configuration context.
Method returns true
only in case an instance equal to the component
instance is already present among the components previously registered in the configuration
context.
isRegistered
in interface Configuration
component
- a component instance to test for.true
if the component instance has been previously registered in this
configuration context, false
otherwise.Configuration.isEnabled(Feature)
public boolean isRegistered(Class<?> componentClass)
Configuration
componentClass
class has been previously
registered in the runtime configuration context.
Method returns true
in case a component of the supplied componentClass
class
is already present among the previously registered component classes or instances
in the configuration context.
isRegistered
in interface Configuration
componentClass
- a component class to test for.true
if a component of a given class has been previously registered in this
configuration context, false
otherwise.Configuration.isEnabled(Class)
public Map<Class<?>,Integer> getContracts(Class<?> componentClass)
Configuration
Map
. Method does not return null
.getContracts
in interface Configuration
public Set<Class<?>> getClasses()
Configuration
feature
) classes to be instantiated, injected and utilized in the scope
of the configurable instance.
For each component type, there can be only a single class-based or instance-based registration present in the configuration context at any given time.
getClasses
in interface Configuration
null
.Configuration.getInstances()
public Set<Object> getInstances()
Configuration
feature
) instances to be utilized by the configurable instance.
Fields and properties of returned instances are injected with their declared dependencies
(see Context
) by the runtime prior to use.
For each component type, there can be only a single class-based or instance-based registration present in the configuration context at any given time.
getInstances
in interface Configuration
null
.Configuration.getClasses()
public Link.Builder createLinkBuilder()
RuntimeDelegate
Link.Builder
.createLinkBuilder
in class RuntimeDelegate
Link.Builder
instance.Link.Builder
Copyright © 2017 JBoss by Red Hat. All rights reserved.