Package org.apache.uima.internal.util
Class UIMAClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.apache.uima.internal.util.UIMAClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
UIMAClassLoader is used as extension ClassLoader for UIMA to load additional components like
annotators and resources. The classpath of the classloader is specified as string.
The strategy for this ClassLoader tries to load the class itself before the classloading is
delegated to the application class loader.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionUIMAClassLoader
(String classpath) Creates a new UIMAClassLoader based on a classpath stringUIMAClassLoader
(String classpath, ClassLoader parent) Creates a new UIMAClassLoader based on a classpath string.UIMAClassLoader
(URL[] classpath) Creates a new UIMAClassLoader based on a classpath URL'sUIMAClassLoader
(URL[] classpath, ClassLoader parent) Creates a new UIMAClassLoader based on a classpath URL's. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
protected Class
<?> static URLClassLoader
newInstance
(URL[] urls) Do not use this factory method - throws unsupportedOperationExceptionstatic URLClassLoader
newInstance
(URL[] urls, ClassLoader parent) Do not use this factory method - throws unsupportedOperationExceptionstatic URL[]
transformClasspath
(String classpath) Transforms the string classpath to a URL array based classpath.Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Field Details
-
nbrLocks
private static final int nbrLockslocks for loading more than 1 class at a time (on different threads) no more than the total number of cores, rounded up to pwr of 2 -
syncLocks
-
-
Constructor Details
-
UIMAClassLoader
Creates a new UIMAClassLoader based on a classpath string- Parameters:
classpath
- a classpath string- Throws:
MalformedURLException
- if a malformed URL has occurred in the classpath string.
-
UIMAClassLoader
Creates a new UIMAClassLoader based on a classpath URL's- Parameters:
classpath
- an array of wellformed classpath URL's
-
UIMAClassLoader
Creates a new UIMAClassLoader based on a classpath URL's. Also a parent ClassLoader can be specified.- Parameters:
classpath
- an array of wellformed classpath URL'sparent
- specify the parent of the classloader
-
UIMAClassLoader
Creates a new UIMAClassLoader based on a classpath string. Also a parent ClassLoader can be specified.- Parameters:
classpath
- a classpath stringparent
- specify the parent of the classloader- Throws:
MalformedURLException
- if a malformed URL has occurred in the classpath string.
-
-
Method Details
-
transformClasspath
Transforms the string classpath to a URL array based classpath. The classpath string must be separated with the filesystem path separator.- Parameters:
classpath
- a classpath string- Returns:
- URL[] array of wellformed URL's
- Throws:
MalformedURLException
- if a malformed URL has occurred in the classpath string.
-
commonInit
private void commonInit() -
newInstance
Do not use this factory method - throws unsupportedOperationException- Parameters:
urls
- -- Returns:
- -
- Throws:
UnsupportedOperationException
- -
-
newInstance
Do not use this factory method - throws unsupportedOperationException- Parameters:
urls
- -parent
- -- Returns:
- -
- Throws:
UnsupportedOperationException
- -
-
loadClass
- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-