|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.ws.rs.ext.RuntimeDelegate org.jboss.resteasy.spi.ResteasyProviderFactory
public class ResteasyProviderFactory
Nested Class Summary | |
---|---|
protected static class |
ResteasyProviderFactory.SortedKey<T>
Allow us to sort message body implementations that are more specific for their types i.e. |
Nested classes/interfaces inherited from class javax.ws.rs.ext.RuntimeDelegate |
---|
RuntimeDelegate.HeaderDelegate<T> |
Fields inherited from class javax.ws.rs.ext.RuntimeDelegate |
---|
JAXRS_RUNTIME_DELEGATE_PROPERTY |
Constructor Summary | |
---|---|
ResteasyProviderFactory()
|
Method Summary | ||
---|---|---|
void |
addBuiltInMessageBodyReader(MessageBodyReader provider)
|
|
void |
addBuiltInMessageBodyWriter(MessageBodyWriter provider)
|
|
void |
addClientErrorInterceptor(ClientErrorInterceptor handler)
Add a ClientErrorInterceptor to this provider factory instance. |
|
static java.util.Map<java.lang.Class<?>,java.lang.Object> |
addContextDataLevel()
|
|
void |
addContextResolver(java.lang.Class<? extends ContextResolver> resolver)
|
|
void |
addContextResolver(java.lang.Class<? extends ContextResolver> resolver,
boolean builtin)
|
|
void |
addContextResolver(ContextResolver provider)
|
|
void |
addContextResolver(ContextResolver provider,
boolean builtin)
|
|
void |
addContextResolver(ContextResolver provider,
java.lang.reflect.Type typeParameter)
|
|
void |
addContextResolver(ContextResolver provider,
java.lang.reflect.Type typeParameter,
boolean builtin)
|
|
void |
addExceptionMapper(java.lang.Class<? extends ExceptionMapper> provider)
|
|
void |
addExceptionMapper(ExceptionMapper provider)
|
|
void |
addExceptionMapper(ExceptionMapper provider,
java.lang.reflect.Type exceptionType)
|
|
void |
addHeaderDelegate(java.lang.Class clazz,
RuntimeDelegate.HeaderDelegate header)
|
|
void |
addMessageBodyReader(java.lang.Class<? extends MessageBodyReader> provider)
|
|
void |
addMessageBodyReader(java.lang.Class<? extends MessageBodyReader> provider,
boolean isBuiltin)
|
|
void |
addMessageBodyReader(MessageBodyReader provider)
|
|
void |
addMessageBodyReader(MessageBodyReader provider,
boolean isBuiltin)
|
|
void |
addMessageBodyWriter(java.lang.Class<? extends MessageBodyWriter> provider)
|
|
void |
addMessageBodyWriter(java.lang.Class<? extends MessageBodyWriter> provider,
boolean isBuiltin)
|
|
void |
addMessageBodyWriter(MessageBodyWriter provider)
|
|
void |
addMessageBodyWriter(MessageBodyWriter provider,
boolean isBuiltin)
|
|
void |
addStringConverter(java.lang.Class<? extends StringConverter> resolver)
|
|
void |
addStringConverter(StringConverter provider)
|
|
void |
addStringConverter(StringConverter provider,
java.lang.reflect.Type typeParameter)
|
|
void |
addStringParameterUnmarshaller(java.lang.Class<? extends StringParameterUnmarshaller> provider)
|
|
void |
appendInterceptorPrecedence(java.lang.String precedence)
Append interceptor predence |
|
static void |
clearContextData()
|
|
|
createEndpoint(Application applicationConfig,
java.lang.Class<T> endpointType)
this is a spec method that is unsupported. |
|
|
createHeaderDelegate(java.lang.Class<T> tClass)
Obtain an instance of a HeaderDelegate for the supplied class. |
|
Response.ResponseBuilder |
createResponseBuilder()
Create a new instance of a Response.ResponseBuilder . |
|
|
createStringParameterUnmarshaller(java.lang.Class<T> clazz)
|
|
UriBuilder |
createUriBuilder()
Create a new instance of a UriBuilder . |
|
Variant.VariantListBuilder |
createVariantListBuilder()
Create a new instance of a Variant.VariantListBuilder . |
|
java.util.List<ClientErrorInterceptor> |
getClientErrorInterceptors()
Return the list of currently registered ClientErrorInterceptor instances. |
|
InterceptorRegistry<ClientExecutionInterceptor> |
getClientExecutionInterceptorRegistry()
|
|
InterceptorRegistry<MessageBodyReaderInterceptor> |
getClientMessageBodyReaderInterceptorRegistry()
|
|
InterceptorRegistry<MessageBodyWriterInterceptor> |
getClientMessageBodyWriterInterceptorRegistry()
|
|
static
|
getContextData(java.lang.Class<T> type)
|
|
static int |
getContextDataLevelCount()
|
|
static java.util.Map<java.lang.Class<?>,java.lang.Object> |
getContextDataMap()
|
|
|
getContextResolver(java.lang.Class<T> contextType,
MediaType mediaType)
Get a context resolver for a particular type of context and media type. |
|
java.util.List<ContextResolver> |
getContextResolvers(java.lang.Class<?> clazz,
MediaType type)
|
|
|
getExceptionMapper(java.lang.Class<T> type)
Get an exception mapping provider for a particular class of exception. |
|
InjectorFactory |
getInjectorFactory()
|
|
static ResteasyProviderFactory |
getInstance()
|
|
|
getMessageBodyReader(java.lang.Class<T> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
MediaType mediaType)
Get a message body reader that matches a set of criteria. |
|
|
getMessageBodyWriter(java.lang.Class<T> type,
java.lang.reflect.Type genericType,
java.lang.annotation.Annotation[] annotations,
MediaType mediaType)
Get a message body writer that matches a set of criteria. |
|
|
getProvider(java.lang.Class<T> providerClass)
Obtain a registered @Provider instance keyed by class. |
|
protected
|
getProviderInstance(java.lang.Class<? extends T> clazz)
|
|
InterceptorRegistry<MessageBodyReaderInterceptor> |
getServerMessageBodyReaderInterceptorRegistry()
|
|
InterceptorRegistry<MessageBodyWriterInterceptor> |
getServerMessageBodyWriterInterceptorRegistry()
|
|
InterceptorRegistry<PostProcessInterceptor> |
getServerPostProcessInterceptorRegistry()
|
|
InterceptorRegistry<PreProcessInterceptor> |
getServerPreProcessInterceptorRegistry()
|
|
StringConverter |
getStringConverter(java.lang.Class<?> clazz)
|
|
protected void |
initialize()
|
|
void |
injectProperties(java.lang.Object o)
|
|
void |
insertInterceptorPrecedenceAfter(java.lang.String after,
java.lang.String newPrecedence)
|
|
void |
insertInterceptorPrecedenceBefore(java.lang.String before,
java.lang.String newPrecedence)
|
|
boolean |
isBuiltinsRegistered()
|
|
boolean |
isRegisterBuiltins()
|
|
static
|
popContextData(java.lang.Class<T> type)
|
|
static
|
pushContext(java.lang.Class<T> type,
T data)
|
|
static void |
pushContextDataMap(java.util.Map<java.lang.Class<?>,java.lang.Object> map)
|
|
protected void |
registerDefaultInterceptorPrecedences()
|
|
protected void |
registerDefaultInterceptorPrecedences(InterceptorRegistry registry)
|
|
void |
registerProvider(java.lang.Class provider)
|
|
void |
registerProvider(java.lang.Class provider,
boolean isBuiltin)
Register a @Provider class. |
|
void |
registerProviderInstance(java.lang.Object provider)
Register a @Provider object. |
|
static void |
removeContextDataLevel()
|
|
void |
setBuiltinsRegistered(boolean builtinsRegistered)
|
|
void |
setInjectorFactory(InjectorFactory injectorFactory)
|
|
static void |
setInstance(ResteasyProviderFactory factory)
|
|
static void |
setRegisterBuiltinByDefault(boolean registerBuiltinByDefault)
|
|
void |
setRegisterBuiltins(boolean registerBuiltins)
|
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 |
---|
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyReader>> messageBodyReaders
protected MediaTypeMap<ResteasyProviderFactory.SortedKey<MessageBodyWriter>> messageBodyWriters
protected java.util.Map<java.lang.Class<?>,ExceptionMapper> exceptionMappers
protected java.util.Map<java.lang.Class<?>,java.lang.Object> providers
protected java.util.Map<java.lang.Class<?>,MediaTypeMap<ResteasyProviderFactory.SortedKey<ContextResolver>>> contextResolvers
protected java.util.Map<java.lang.Class<?>,StringConverter> stringConverters
protected java.util.Map<java.lang.Class<?>,java.lang.Class<? extends StringParameterUnmarshaller>> stringParameterUnmarshallers
protected java.util.Map<java.lang.Class<?>,RuntimeDelegate.HeaderDelegate> headerDelegates
protected static java.util.concurrent.atomic.AtomicReference<ResteasyProviderFactory> pfr
protected static ThreadLocalStack<java.util.Map<java.lang.Class<?>,java.lang.Object>> contextualData
protected static int maxForwards
public static boolean registerBuiltinByDefault
protected InterceptorRegistry<MessageBodyReaderInterceptor> serverMessageBodyReaderInterceptorRegistry
protected InterceptorRegistry<MessageBodyWriterInterceptor> serverMessageBodyWriterInterceptorRegistry
protected InterceptorRegistry<PreProcessInterceptor> serverPreProcessInterceptorRegistry
protected InterceptorRegistry<PostProcessInterceptor> serverPostProcessInterceptorRegistry
protected InterceptorRegistry<MessageBodyReaderInterceptor> clientMessageBodyReaderInterceptorRegistry
protected InterceptorRegistry<MessageBodyWriterInterceptor> clientMessageBodyWriterInterceptorRegistry
protected InterceptorRegistry<ClientExecutionInterceptor> clientExecutionInterceptorRegistry
protected java.util.List<ClientErrorInterceptor> clientErrorInterceptors
protected boolean builtinsRegistered
protected boolean registerBuiltins
protected InjectorFactory injectorFactory
Constructor Detail |
---|
public ResteasyProviderFactory()
Method Detail |
---|
protected void registerDefaultInterceptorPrecedences(InterceptorRegistry registry)
protected void registerDefaultInterceptorPrecedences()
public void appendInterceptorPrecedence(java.lang.String precedence)
precedence
- public void insertInterceptorPrecedenceAfter(java.lang.String after, java.lang.String newPrecedence)
after
- put newPrecedence after thisnewPrecedence
- public void insertInterceptorPrecedenceBefore(java.lang.String before, java.lang.String newPrecedence)
before
- put newPrecedence before thisnewPrecedence
- public static <T> void pushContext(java.lang.Class<T> type, T data)
public static void pushContextDataMap(java.util.Map<java.lang.Class<?>,java.lang.Object> map)
public static java.util.Map<java.lang.Class<?>,java.lang.Object> getContextDataMap()
public static <T> T getContextData(java.lang.Class<T> type)
public static <T> T popContextData(java.lang.Class<T> type)
public static void clearContextData()
public static java.util.Map<java.lang.Class<?>,java.lang.Object> addContextDataLevel()
public static int getContextDataLevelCount()
public static void removeContextDataLevel()
public static void setInstance(ResteasyProviderFactory factory)
public static ResteasyProviderFactory getInstance()
public static void setRegisterBuiltinByDefault(boolean registerBuiltinByDefault)
protected void initialize()
public boolean isRegisterBuiltins()
public void setRegisterBuiltins(boolean registerBuiltins)
public InjectorFactory getInjectorFactory()
public void setInjectorFactory(InjectorFactory injectorFactory)
public InterceptorRegistry<MessageBodyReaderInterceptor> getServerMessageBodyReaderInterceptorRegistry()
public InterceptorRegistry<MessageBodyWriterInterceptor> getServerMessageBodyWriterInterceptorRegistry()
public InterceptorRegistry<PreProcessInterceptor> getServerPreProcessInterceptorRegistry()
public InterceptorRegistry<PostProcessInterceptor> getServerPostProcessInterceptorRegistry()
public InterceptorRegistry<MessageBodyReaderInterceptor> getClientMessageBodyReaderInterceptorRegistry()
public InterceptorRegistry<MessageBodyWriterInterceptor> getClientMessageBodyWriterInterceptorRegistry()
public InterceptorRegistry<ClientExecutionInterceptor> getClientExecutionInterceptorRegistry()
public boolean isBuiltinsRegistered()
public void setBuiltinsRegistered(boolean builtinsRegistered)
public UriBuilder createUriBuilder()
RuntimeDelegate
UriBuilder
.
createUriBuilder
in class RuntimeDelegate
UriBuilder
public Response.ResponseBuilder createResponseBuilder()
RuntimeDelegate
Response.ResponseBuilder
.
createResponseBuilder
in class RuntimeDelegate
Response.ResponseBuilder
public Variant.VariantListBuilder createVariantListBuilder()
RuntimeDelegate
Variant.VariantListBuilder
.
createVariantListBuilder
in class RuntimeDelegate
Variant.VariantListBuilder
public <T> RuntimeDelegate.HeaderDelegate<T> createHeaderDelegate(java.lang.Class<T> tClass)
RuntimeDelegate
Cookie
, CacheControl
,
EntityTag
, NewCookie
,
MediaType
and java.util.Date
.
createHeaderDelegate
in class RuntimeDelegate
tClass
- the class of the header
public void addHeaderDelegate(java.lang.Class clazz, RuntimeDelegate.HeaderDelegate header)
public void addMessageBodyReader(java.lang.Class<? extends MessageBodyReader> provider)
public void addMessageBodyReader(java.lang.Class<? extends MessageBodyReader> provider, boolean isBuiltin)
public void addMessageBodyReader(MessageBodyReader provider)
public void addBuiltInMessageBodyReader(MessageBodyReader provider)
public void addMessageBodyReader(MessageBodyReader provider, boolean isBuiltin)
public void addMessageBodyWriter(java.lang.Class<? extends MessageBodyWriter> provider)
public void addMessageBodyWriter(java.lang.Class<? extends MessageBodyWriter> provider, boolean isBuiltin)
public void addMessageBodyWriter(MessageBodyWriter provider)
public void addBuiltInMessageBodyWriter(MessageBodyWriter provider)
public void addMessageBodyWriter(MessageBodyWriter provider, boolean isBuiltin)
public <T> MessageBodyReader<T> getMessageBodyReader(java.lang.Class<T> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, MediaType mediaType)
Providers
mediaType
with the value of each reader's
Consumes
, ensuring the supplied value of
type
is assignable to the generic type of the reader, and
eliminating those that do not match.
The list of matching readers is then ordered with those with the best
matching values of Consumes
(x/y > x/* > */*)
sorted first. Finally, the
MessageBodyReader.isReadable(java.lang.Class>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)
method is called on each reader in order using the supplied criteria and
the first reader that returns true
is selected and returned.
getMessageBodyReader
in interface Providers
type
- the class of 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 void addExceptionMapper(java.lang.Class<? extends ExceptionMapper> provider)
public void addExceptionMapper(ExceptionMapper provider)
public void addExceptionMapper(ExceptionMapper provider, java.lang.reflect.Type exceptionType)
public void addClientErrorInterceptor(ClientErrorInterceptor handler)
ClientErrorInterceptor
to this provider factory instance.
Duplicate handlers are ignored. (For Client Proxy API only)
public java.util.List<ClientErrorInterceptor> getClientErrorInterceptors()
ClientErrorInterceptor
instances.
public void addContextResolver(java.lang.Class<? extends ContextResolver> resolver)
public void addContextResolver(java.lang.Class<? extends ContextResolver> resolver, boolean builtin)
public void addContextResolver(ContextResolver provider)
public void addContextResolver(ContextResolver provider, boolean builtin)
public void addContextResolver(ContextResolver provider, java.lang.reflect.Type typeParameter)
public void addContextResolver(ContextResolver provider, java.lang.reflect.Type typeParameter, boolean builtin)
public void injectProperties(java.lang.Object o)
public void addStringConverter(java.lang.Class<? extends StringConverter> resolver)
public void addStringConverter(StringConverter provider)
public void addStringConverter(StringConverter provider, java.lang.reflect.Type typeParameter)
public void addStringParameterUnmarshaller(java.lang.Class<? extends StringParameterUnmarshaller> provider)
public java.util.List<ContextResolver> getContextResolvers(java.lang.Class<?> clazz, MediaType type)
public StringConverter getStringConverter(java.lang.Class<?> clazz)
public <T> StringParameterUnmarshaller<T> createStringParameterUnmarshaller(java.lang.Class<T> clazz)
public void registerProvider(java.lang.Class provider)
public void registerProvider(java.lang.Class provider, boolean isBuiltin)
provider
- public void registerProviderInstance(java.lang.Object provider)
provider
- public <T> T getProvider(java.lang.Class<T> providerClass)
public <T extends java.lang.Throwable> ExceptionMapper<T> getExceptionMapper(java.lang.Class<T> type)
Providers
type
.
getExceptionMapper
in interface Providers
type
- the class of exception
ExceptionMapper
for the supplied type or null if none
is found.public <T> MessageBodyWriter<T> getMessageBodyWriter(java.lang.Class<T> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, MediaType mediaType)
Providers
mediaType
with the value of each writer's
Produces
, ensuring the supplied value of
type
is assignable to the generic type of the reader, and
eliminating those that do not match.
The list of matching writers is then ordered with those with the best
matching values of Produces
(x/y > x/* > */*)
sorted first. Finally, the
MessageBodyWriter.isWriteable(java.lang.Class>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)
method is called on each writer in order using the supplied criteria and
the first writer that returns true
is selected and returned.
getMessageBodyWriter
in interface Providers
type
- the class of 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> T createEndpoint(Application applicationConfig, java.lang.Class<T> endpointType) throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException
createEndpoint
in class RuntimeDelegate
applicationConfig
- endpointType
-
java.lang.IllegalArgumentException
java.lang.UnsupportedOperationException
public <T> ContextResolver<T> getContextResolver(java.lang.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
contextType
- the class of context desiredmediaType
- the media type of data for which a context is required.
protected <T> T getProviderInstance(java.lang.Class<? extends T> clazz)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |