Class JavaSourceClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.codehaus.commons.compiler.AbstractJavaSourceClassLoader
-
- org.codehaus.commons.compiler.jdk.JavaSourceClassLoader
-
public class JavaSourceClassLoader extends AbstractJavaSourceClassLoader
AClassLoader
that loads classes by looking for their source files through a "source path" and compiling them on-the-fly.Notice that this class loader does not support resoures in the sense of
ClassLoader.getResource(String)
,ClassLoader.getResourceAsStream(String)
ndClassLoader.getResources(String)
.- See Also:
ClassLoaders
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JavaSourceClassLoader.DiagnosticException
Container for aDiagnostic
object.-
Nested classes/interfaces inherited from class org.codehaus.commons.compiler.AbstractJavaSourceClassLoader
AbstractJavaSourceClassLoader.ProtectionDomainFactory
-
-
Field Summary
-
Fields inherited from class org.codehaus.commons.compiler.AbstractJavaSourceClassLoader
protectionDomainFactory
-
-
Constructor Summary
Constructors Constructor Description JavaSourceClassLoader()
JavaSourceClassLoader(java.lang.ClassLoader parentClassLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Class<?>
findClass(java.lang.String className)
Implementation ofClassLoader.findClass(String)
.void
setCompilerOptions(java.lang.String[] compilerOptions)
Notice: Don't use the '-g' options - these are controlled throughsetDebuggingInfo(boolean, boolean, boolean)
.void
setDebuggingInfo(boolean lines, boolean vars, boolean source)
void
setSourceCharset(java.nio.charset.Charset charset)
void
setSourceFinder(ResourceFinder sourceFinder)
void
setSourcePath(java.io.File[] sourcePath)
-
Methods inherited from class org.codehaus.commons.compiler.AbstractJavaSourceClassLoader
getResourceAsStream, main, setProtectionDomainFactory, setSourceFileCharacterEncoding
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Method Detail
-
setSourcePath
public void setSourcePath(java.io.File[] sourcePath)
- Specified by:
setSourcePath
in classAbstractJavaSourceClassLoader
- Parameters:
sourcePath
- The sequence of directories to search for Java source files
-
setSourceFinder
public void setSourceFinder(ResourceFinder sourceFinder)
- Specified by:
setSourceFinder
in classAbstractJavaSourceClassLoader
- Parameters:
sourceFinder
- Is used when searching for Java source files
-
setSourceCharset
public void setSourceCharset(java.nio.charset.Charset charset)
- Specified by:
setSourceCharset
in classAbstractJavaSourceClassLoader
- Parameters:
charset
- The character set to using when reading characters from a source file
-
setDebuggingInfo
public void setDebuggingInfo(boolean lines, boolean vars, boolean source)
- Specified by:
setDebuggingInfo
in classAbstractJavaSourceClassLoader
- Parameters:
lines
- Whether line number debugging information should be generatedvars
- Whether variables debugging information should be generatedsource
- Whether source file debugging information should be generated
-
setCompilerOptions
public void setCompilerOptions(java.lang.String[] compilerOptions)
Notice: Don't use the '-g' options - these are controlled throughsetDebuggingInfo(boolean, boolean, boolean)
.- Parameters:
compilerOptions
- All command line options supported by the JDK JAVAC tool
-
findClass
protected java.lang.Class<?> findClass(java.lang.String className) throws java.lang.ClassNotFoundException
Implementation ofClassLoader.findClass(String)
.- Overrides:
findClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
-