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:
org.apache.cxf.interceptor.InterceptorProvider
- Direct Known Subclasses:
JAXRSServerFactoryBean
public class AbstractJAXRSFactoryBean extends org.apache.cxf.endpoint.AbstractEndpointFactoryAbstract 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
-
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 org.apache.cxf.service.model.BindingInfocreateBindingInfo()protected org.apache.cxf.endpoint.EndpointcreateEndpoint()protected org.apache.cxf.service.model.EndpointInfocreateEndpointInfo(org.apache.cxf.service.Service service)org.apache.cxf.BusgetBus()List<?>getProviders()JAXRSServiceFactoryBeangetServiceFactory()Returns the service factoryprotected booleanisValidClassResourceInfo(ClassResourceInfo cri)voidsetBus(org.apache.cxf.Bus bus)protected voidsetDataBindingProvider(ProviderFactory factory, org.apache.cxf.service.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, org.apache.cxf.endpoint.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
-
-
-
-
Field Detail
-
serviceFactory
protected JAXRSServiceFactoryBean serviceFactory
-
-
Constructor Detail
-
AbstractJAXRSFactoryBean
protected AbstractJAXRSFactoryBean(JAXRSServiceFactoryBean serviceFactory)
-
-
Method Detail
-
getBus
public org.apache.cxf.Bus getBus()
- Overrides:
getBusin classorg.apache.cxf.endpoint.AbstractEndpointFactory
-
setServiceName
public void setServiceName(QName name)
- Overrides:
setServiceNamein classorg.apache.cxf.endpoint.AbstractEndpointFactory
-
setBus
public void setBus(org.apache.cxf.Bus bus)
- Overrides:
setBusin classorg.apache.cxf.endpoint.AbstractEndpointFactory
-
createEndpointInfo
protected org.apache.cxf.service.model.EndpointInfo createEndpointInfo(org.apache.cxf.service.Service service) throws org.apache.cxf.BusException- Throws:
org.apache.cxf.BusException
-
createBindingInfo
protected org.apache.cxf.service.model.BindingInfo createBindingInfo()
- Specified by:
createBindingInfoin classorg.apache.cxf.endpoint.AbstractEndpointFactory
-
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 org.apache.cxf.endpoint.Endpoint createEndpoint() throws org.apache.cxf.BusException, org.apache.cxf.endpoint.EndpointException- Specified by:
createEndpointin classorg.apache.cxf.endpoint.AbstractEndpointFactory- Throws:
org.apache.cxf.BusExceptionorg.apache.cxf.endpoint.EndpointException
-
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, org.apache.cxf.endpoint.Endpoint ep)
-
setDataBindingProvider
protected void setDataBindingProvider(ProviderFactory factory, org.apache.cxf.service.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)
-
-