Package org.apache.cxf.jaxrs
Class AbstractJAXRSFactoryBean
- java.lang.Object
-
- org.apache.cxf.interceptor.AbstractBasicInterceptorProvider
-
- org.apache.cxf.endpoint.AbstractEndpointFactory
-
- org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean
-
- All Implemented Interfaces:
InterceptorProvider
- Direct Known Subclasses:
JAXRSClientFactoryBean,JAXRSServerFactoryBean
public class AbstractJAXRSFactoryBean extends AbstractEndpointFactory
Abstract bean holding functionality common for creating JAX-RS Server and Client objects.
-
-
Field Summary
Fields Modifier and Type Field Description protected List<Object>entityProvidersprotected List<String>schemaLocationsprotected JAXRSServiceFactoryBeanserviceFactory-
Fields inherited from class org.apache.cxf.endpoint.AbstractEndpointFactory
address, bindingConfig, bindingFactory, bindingId, bus, conduitSelector, dataBinding, destinationFactory, endpointName, endpointReference, features, properties, publishedEndpointUrl, serviceName, transportId
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractJAXRSFactoryBean(JAXRSServiceFactoryBean serviceFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckResources(boolean server)protected BindingInfocreateBindingInfo()protected EndpointcreateEndpoint()protected EndpointInfocreateEndpointInfo(Service service)BusgetBus()List<?>getProviders()JAXRSServiceFactoryBeangetServiceFactory()Returns the service factoryprotected booleanisValidClassResourceInfo(ClassResourceInfo cri)voidsetBus(Bus bus)protected voidsetDataBindingProvider(ProviderFactory factory, Service s)voidsetModelBeans(List<UserResource> resources)Sets the description of root resources.voidsetModelBeans(UserResource... resources)Sets the description of root resources.voidsetModelBeansWithServiceClass(List<UserResource> resources, Class<?>... sClasses)Sets the description of root resources with the list of concrete classes.voidsetModelRef(String modelRef)Sets a reference to the external user model, Example: "classpath:/model/resources.xml"voidsetModelRefWithServiceClass(String modelRef, Class<?>... sClasses)Sets a reference to the external user model, Example: "classpath:/model/resources.xml".voidsetProvider(Object provider)Add custom JAX-RS provider to the list of providersvoidsetProviderComparator(Comparator<?> providerComparator)voidsetProviders(List<? extends Object> providers)Add custom JAX-RS providers to the list of providersvoidsetSchemaLocation(String schema)Sets the location of the schema which can be used to validate the incoming XML or JAXB-driven JSON.voidsetSchemaLocations(List<String> schemas)Sets the locations of the schemas which can be used to validate the incoming XML or JAXB-driven JSON.voidsetServiceFactory(JAXRSServiceFactoryBean serviceFactory)Sets the custom service factory which processes the registered classes and providersvoidsetServiceName(QName name)protected voidsetupFactory(ProviderFactory factory, Endpoint ep)-
Methods inherited from class org.apache.cxf.endpoint.AbstractEndpointFactory
addToBeans, checkPrivateEndpoint, getAddress, getBindingConfig, getBindingFactory, getBindingId, getBus, getConduitSelector, getDataBinding, getDestinationFactory, getEndpointName, getFeatures, getProperties, getProperties, getPublishedEndpointUrl, getServiceName, getTransportId, initializeAnnotationInterceptors, initializeAnnotationInterceptors, initializeAnnotationInterceptors, setAddress, setBindingConfig, setBindingFactory, setBindingId, setConduitSelector, setDataBinding, setDestinationFactory, setEndpointName, setEndpointReference, setFeatures, setProperties, setPublishedEndpointUrl, setTransportId
-
Methods inherited from class org.apache.cxf.interceptor.AbstractBasicInterceptorProvider
getInFaultInterceptors, getInInterceptors, getOutFaultInterceptors, getOutInterceptors, setInFaultInterceptors, setInInterceptors, setOutFaultInterceptors, setOutInterceptors
-
-
-
-
Field Detail
-
serviceFactory
protected JAXRSServiceFactoryBean serviceFactory
-
-
Constructor Detail
-
AbstractJAXRSFactoryBean
protected AbstractJAXRSFactoryBean(JAXRSServiceFactoryBean serviceFactory)
-
-
Method Detail
-
getBus
public Bus getBus()
- Overrides:
getBusin classAbstractEndpointFactory
-
setServiceName
public void setServiceName(QName name)
- Overrides:
setServiceNamein classAbstractEndpointFactory
-
setBus
public void setBus(Bus bus)
- Overrides:
setBusin classAbstractEndpointFactory
-
createEndpointInfo
protected EndpointInfo createEndpointInfo(Service service) throws BusException
- Throws:
BusException
-
createBindingInfo
protected BindingInfo createBindingInfo()
- Specified by:
createBindingInfoin classAbstractEndpointFactory
-
getServiceFactory
public JAXRSServiceFactoryBean getServiceFactory()
Returns the service factory- Returns:
- the factory
-
setServiceFactory
public void setServiceFactory(JAXRSServiceFactoryBean serviceFactory)
Sets the custom service factory which processes the registered classes and providers- Parameters:
serviceFactory- the factory
-
createEndpoint
protected Endpoint createEndpoint() throws BusException, EndpointException
- Specified by:
createEndpointin classAbstractEndpointFactory- Throws:
BusExceptionEndpointException
-
setSchemaLocation
public void setSchemaLocation(String schema)
Sets the location of the schema which can be used to validate the incoming XML or JAXB-driven JSON. JAX-RS MessageBodyReader implementations which have the setSchemaLocations method accepting a list of schema locations will be injected with this value.- Parameters:
schema- the schema location
-
setSchemaLocations
public void setSchemaLocations(List<String> schemas)
Sets the locations of the schemas which can be used to validate the incoming XML or JAXB-driven JSON. JAX-RS MessageBodyReader implementations which have the setSchemaLocations method accepting a list of schema locations will be injected with this value. For example, if A.xsd imports B.xsd then both A.xsd and B.xsd need to be referenced.- Parameters:
schemas- the schema locations
-
getProviders
public List<?> getProviders()
- Returns:
- the list of custom JAX-RS providers
-
setProviders
public void setProviders(List<? extends Object> providers)
Add custom JAX-RS providers to the list of providers- Parameters:
providers- the entity providers
-
setProvider
public void setProvider(Object provider)
Add custom JAX-RS provider to the list of providers- Parameters:
provider- the custom provider.
-
checkResources
protected void checkResources(boolean server)
-
isValidClassResourceInfo
protected boolean isValidClassResourceInfo(ClassResourceInfo cri)
-
setupFactory
protected void setupFactory(ProviderFactory factory, Endpoint ep)
-
setDataBindingProvider
protected void setDataBindingProvider(ProviderFactory factory, Service s)
-
setModelBeans
public void setModelBeans(UserResource... resources)
Sets the description of root resources. Can be used to 'attach' the JAX-RS like description to the application classes without adding JAX-RS annotations.- Parameters:
resources- root resource descriptions
-
setModelBeans
public void setModelBeans(List<UserResource> resources)
Sets the description of root resources. Can be used to 'attach' the JAX-RS like description to the application classes without adding JAX-RS annotations.- Parameters:
resources- root resource descriptions
-
setModelBeansWithServiceClass
public void setModelBeansWithServiceClass(List<UserResource> resources, Class<?>... sClasses)
Sets the description of root resources with the list of concrete classes. Can be used to 'attach' the JAX-RS like description to the application classes without adding JAX-RS annotations. Some models may only reference interfaces, thus providing a list of concrete classes that will be instantiated is required in such cases.- Parameters:
resources- root resource descriptions.sClasses- concrete root resource classes
-
setModelRef
public void setModelRef(String modelRef)
Sets a reference to the external user model, Example: "classpath:/model/resources.xml"- Parameters:
modelRef- the reference to the external model resource.
-
setModelRefWithServiceClass
public void setModelRefWithServiceClass(String modelRef, Class<?>... sClasses)
Sets a reference to the external user model, Example: "classpath:/model/resources.xml". Some models may only reference interfaces, thus providing a list of concrete classes that will be instantiated is required in such cases.- Parameters:
modelRef- the reference to the external model resource.sClasses- concrete root resource classes
-
setProviderComparator
public void setProviderComparator(Comparator<?> providerComparator)
-
-