Package javax.ws.rs.ext
Class FactoryFinder
java.lang.Object
javax.ws.rs.ext.FactoryFinder
Factory finder utility class.
- Since:
- 1.0
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static <T> Object
Finds the implementationClass
for the given factory name, or if that fails, finds theClass
for the given fallback class name and create its instance.private static ClassLoader
private static Object
newInstance
(String className, ClassLoader classLoader) Creates an instance of the specified class using the specifiedClassLoader
object.
-
Field Details
-
LOGGER
-
-
Constructor Details
-
FactoryFinder
private FactoryFinder()
-
-
Method Details
-
getContextClassLoader
-
newInstance
private static Object newInstance(String className, ClassLoader classLoader) throws ClassNotFoundException Creates an instance of the specified class using the specifiedClassLoader
object.- Parameters:
className
- name of the class to be instantiated.classLoader
- class loader to be used.- Returns:
- instance of the specified class.
- Throws:
ClassNotFoundException
- if the given class could not be found or could not be instantiated.
-
find
static <T> Object find(String factoryId, String fallbackClassName, Class<T> service) throws ClassNotFoundException Finds the implementationClass
for the given factory name, or if that fails, finds theClass
for the given fallback class name and create its instance. The arguments supplied MUST be used in order. If using the first argument is successful, the second one will not be used.This method is package private so that this code can be shared.
- Type Parameters:
T
- type of the service to be found.- Parameters:
factoryId
- the name of the factory to find, which is a system property.fallbackClassName
- the implementation class name, which is to be used only if nothing else. is found;null
to indicate that there is no fallback class name.service
- service to be found.- Returns:
- the instance of the specified service; may not be
null
. - Throws:
ClassNotFoundException
- if the given class could not be found or could not be instantiated.
-