Package org.apache.cxf.jaxrs.provider
Class ProviderFactory
java.lang.Object
org.apache.cxf.jaxrs.provider.ProviderFactory
- Direct Known Subclasses:
ServerProviderFactory
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static classstatic classprotected static classprotected static classprotected static classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected static final Stringstatic final Stringprotected static final Stringstatic final Stringprotected Map<ProviderFactory.NameKey,ProviderInfo<jakarta.ws.rs.ext.ReaderInterceptor>> protected static final Stringstatic final Stringstatic final Stringprotected Map<ProviderFactory.NameKey,ProviderInfo<jakarta.ws.rs.ext.WriterInterceptor>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddProviderToList(List<?> list, ProviderInfo<?> provider) voidvoidprotected static intcompareClasses(Class<?> expectedCls, Object o1, Object o2) protected static intcompareClasses(Object o1, Object o2) protected static intcompareCustomStatus(ProviderInfo<?> p1, ProviderInfo<?> p2) protected static booleanconstrainedTo(Class<?> providerCls, jakarta.ws.rs.RuntimeType type) Checks the presence ofConstrainedToannotation and, if present, applicability to the runtime type.<T> ContextProvider<T>createContextProvider(Type contextType, org.apache.cxf.message.Message m) <T> jakarta.ws.rs.ext.ContextResolver<T>createContextResolver(Type contextType, org.apache.cxf.message.Message m) <T> jakarta.ws.rs.ext.ContextResolver<T>createContextResolver(Type contextType, org.apache.cxf.message.Message m, jakarta.ws.rs.core.MediaType type) <T> jakarta.ws.rs.ext.MessageBodyReader<T>createMessageBodyReader(Class<T> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, org.apache.cxf.message.Message m) <T> List<jakarta.ws.rs.ext.ReaderInterceptor>createMessageBodyReaderInterceptor(Class<T> bodyType, Type parameterType, Annotation[] parameterAnnotations, jakarta.ws.rs.core.MediaType mediaType, org.apache.cxf.message.Message m, boolean checkMbrNow, Set<String> names) <T> jakarta.ws.rs.ext.MessageBodyWriter<T>createMessageBodyWriter(Class<T> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, org.apache.cxf.message.Message m) <T> List<jakarta.ws.rs.ext.WriterInterceptor>createMessageBodyWriterInterceptor(Class<T> bodyType, Type parameterType, Annotation[] parameterAnnotations, jakarta.ws.rs.core.MediaType mediaType, org.apache.cxf.message.Message m, Set<String> names) <T> jakarta.ws.rs.ext.ParamConverter<T>createParameterHandler(Class<T> paramType, Type genericType, Annotation[] anns, org.apache.cxf.message.Message m) protected static ObjectcreateProvider(String className, org.apache.cxf.Bus bus) static ProviderInfo<? extends Object>createProviderFromConstructor(Constructor<?> c, Map<Class<?>, Object> values, org.apache.cxf.Bus theBus, boolean checkContexts, boolean custom) protected static booleanfilterContractSupported(ProviderInfo<?> provider, Class<?> providerCls, Class<?> contract) protected static <T> List<ProviderInfo<T>>getBoundFilters(Map<ProviderFactory.NameKey, ProviderInfo<T>> boundFilters, Set<String> names) org.apache.cxf.BusgetBus()abstract jakarta.ws.rs.core.ConfigurationgetConfiguration(org.apache.cxf.message.Message message) List<ProviderInfo<jakarta.ws.rs.ext.ContextResolver<?>>>jakarta.ws.rs.ext.MessageBodyWriter<?>getFilterNameBindings(org.apache.cxf.Bus bus, Object provider) protected static intgetFilterPriority(ProviderInfo<?> p, Class<?> providerCls) static ProviderFactorygetInstance(org.apache.cxf.message.Message m) protected <T> booleanhandleMapper(ProviderInfo<T> em, Class<?> expectedType, org.apache.cxf.message.Message m, Class<?> providerClass, boolean injectContext) protected <T> booleanhandleMapper(ProviderInfo<T> em, Class<?> expectedType, org.apache.cxf.message.Message m, Class<?> providerClass, Class<?> commonBaseClass, boolean injectContext) protected static ProviderCacheinitCache(org.apache.cxf.Bus theBus) protected static voidinitFactory(ProviderFactory factory) voidinitProviders(List<ClassResourceInfo> cris) protected voidinjectContextProxies(Collection<?>... providerLists) protected voidprotected voidinjectContextValues(ProviderInfo<?> pi, org.apache.cxf.message.Message m) booleanprotected static <T> voidmapInterceptorFilters(Map<ProviderFactory.NameKey, ProviderInfo<T>> map, List<ProviderInfo<T>> filters, Class<?> providerCls, boolean ascending) protected List<ProviderInfo<? extends Object>>prepareProviders(boolean custom, boolean busGlobal, Object[] providers, ProviderInfo<jakarta.ws.rs.core.Application> application) voidregisterUserProvider(Object provider) voidsetBus(org.apache.cxf.Bus bus) protected voidprotected voidsetCommonProviders(List<ProviderInfo<? extends Object>> theProviders, jakarta.ws.rs.RuntimeType type) voidsetProviderComparator(Comparator<?> providerComparator) protected abstract voidsetProviders(boolean custom, boolean busGlobal, Object... providers) voidsetSchemaLocations(List<String> schemas) voidsetUserProviders(List<?> userProviders) Use for injection of entityProviders
-
Field Details
-
SKIP_DEFAULT_JSON_PROVIDER_REGISTRATION
- See Also:
-
SKIP_JAKARTA_JSON_PROVIDERS_REGISTRATION
- See Also:
-
DEFAULT_FILTER_NAME_BINDING
- See Also:
-
PROVIDER_SELECTION_PROPERTY_CHANGED
- See Also:
-
ACTIVE_JAXRS_PROVIDER_KEY
- See Also:
-
SERVER_FACTORY_NAME
- See Also:
-
CLIENT_FACTORY_NAME
- See Also:
-
IGNORE_TYPE_VARIABLES
- See Also:
-
readerInterceptors
protected Map<ProviderFactory.NameKey,ProviderInfo<jakarta.ws.rs.ext.ReaderInterceptor>> readerInterceptors -
writerInterceptors
protected Map<ProviderFactory.NameKey,ProviderInfo<jakarta.ws.rs.ext.WriterInterceptor>> writerInterceptors
-
-
Constructor Details
-
ProviderFactory
protected ProviderFactory(org.apache.cxf.Bus bus)
-
-
Method Details
-
getBus
public org.apache.cxf.Bus getBus() -
initCache
-
initFactory
-
createProvider
-
getConfiguration
public abstract jakarta.ws.rs.core.Configuration getConfiguration(org.apache.cxf.message.Message message) -
createContextResolver
public <T> jakarta.ws.rs.ext.ContextResolver<T> createContextResolver(Type contextType, org.apache.cxf.message.Message m) -
createContextResolver
public <T> jakarta.ws.rs.ext.ContextResolver<T> createContextResolver(Type contextType, org.apache.cxf.message.Message m, jakarta.ws.rs.core.MediaType type) -
createContextProvider
public <T> ContextProvider<T> createContextProvider(Type contextType, org.apache.cxf.message.Message m) -
createParameterHandler
public <T> jakarta.ws.rs.ext.ParamConverter<T> createParameterHandler(Class<T> paramType, Type genericType, Annotation[] anns, org.apache.cxf.message.Message m) -
handleMapper
protected <T> boolean handleMapper(ProviderInfo<T> em, Class<?> expectedType, org.apache.cxf.message.Message m, Class<?> providerClass, boolean injectContext) -
handleMapper
protected <T> boolean handleMapper(ProviderInfo<T> em, Class<?> expectedType, org.apache.cxf.message.Message m, Class<?> providerClass, Class<?> commonBaseClass, boolean injectContext) -
createMessageBodyReaderInterceptor
-
createMessageBodyWriterInterceptor
-
createMessageBodyReader
public <T> jakarta.ws.rs.ext.MessageBodyReader<T> createMessageBodyReader(Class<T> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, org.apache.cxf.message.Message m) -
createMessageBodyWriter
public <T> jakarta.ws.rs.ext.MessageBodyWriter<T> createMessageBodyWriter(Class<T> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, org.apache.cxf.message.Message m) -
setBusProviders
protected void setBusProviders() -
setProviders
-
setCommonProviders
protected void setCommonProviders(List<ProviderInfo<? extends Object>> theProviders, jakarta.ws.rs.RuntimeType type) -
isParamConverterContextsAvailable
public boolean isParamConverterContextsAvailable() -
injectContextValues
-
addProviderToList
-
injectContextProxies
-
injectContextProxiesIntoProvider
-
getContextResolvers
-
registerUserProvider
-
setUserProviders
Use for injection of entityProviders- Parameters:
userProviders- the userProviders to set
-
compareCustomStatus
-
clearThreadLocalProxies
public void clearThreadLocalProxies() -
clearProviders
public void clearProviders() -
setBus
public void setBus(org.apache.cxf.Bus bus) -
setSchemaLocations
-
getBoundFilters
protected static <T> List<ProviderInfo<T>> getBoundFilters(Map<ProviderFactory.NameKey, ProviderInfo<T>> boundFilters, Set<String> names) -
initProviders
-
getInstance
-
compareClasses
-
compareClasses
-
createProviderFromConstructor
public static ProviderInfo<? extends Object> createProviderFromConstructor(Constructor<?> c, Map<Class<?>, Object> values, org.apache.cxf.Bus theBus, boolean checkContexts, boolean custom) -
mapInterceptorFilters
protected static <T> void mapInterceptorFilters(Map<ProviderFactory.NameKey, ProviderInfo<T>> map, List<ProviderInfo<T>> filters, Class<?> providerCls, boolean ascending) -
getFilterNameBindings
-
getFilterNameBindings
-
getFilterPriority
-
filterContractSupported
protected static boolean filterContractSupported(ProviderInfo<?> provider, Class<?> providerCls, Class<?> contract) -
prepareProviders
protected List<ProviderInfo<? extends Object>> prepareProviders(boolean custom, boolean busGlobal, Object[] providers, ProviderInfo<jakarta.ws.rs.core.Application> application) -
getDefaultJaxbWriter
public jakarta.ws.rs.ext.MessageBodyWriter<?> getDefaultJaxbWriter() -
setProviderComparator
-
constrainedTo
Checks the presence ofConstrainedToannotation and, if present, applicability to the runtime type.- Parameters:
providerCls- provider classtype- runtime type- Returns:
- "true" if provider could be used with runtime type, "false" otherwise
-