Interface JamServiceParams
-
- All Known Implementing Classes:
JamServiceContextImpl
public interface JamServiceParams
Used to specify the parameters with which a JamService will be created.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
addClassBuilder(JamClassBuilder cb)
Adds a custom JamClassBuilder which will be consulted by the JamClassLoader when constructing representation of java types.void
addClassLoader(java.lang.ClassLoader cl)
DOCMEvoid
addClasspath(java.io.File classpathElement)
Adds an elements to the JamService classpath.void
addInitializer(MVisitor initializer)
void
addSourcepath(java.io.File sourcepathElement)
Adds an elements to the JamService sourcepath.void
addToolClasspath(java.io.File classpathElement)
Adds an elements to the tool classpath.void
excludeClass(java.lang.String qualifiedClassname)
Names a specific class to be excluded in the JamService.void
excludeClassFile(java.io.File[] sourcepath, java.io.File sourceFile)
Excludes a single class File in the JamService in exactly the same way theat includeSourceFile() includes a source file.void
excludeClassPattern(java.io.File[] classpath, java.lang.String pattern)
Specifies a set of java class files to be excluded from the JamService.void
excludeSourceFile(java.io.File[] sourcepath, java.io.File sourceFile)
Excludes a single source File in the JamService in exactly the same way theat includeSourceFile() includes a source file.void
excludeSourcePattern(java.io.File[] sourcepath, java.lang.String pattern)
Specifies a set of java source files to be excluded in the JamService.void
includeClass(java.lang.String qualifiedClassname)
Names a specific class to be included in the JamService.void
includeClassFile(java.io.File[] sourcepath, java.io.File sourceFile)
Includes a single class File in the JamService in exactly the same way theat includeSourceFile() includes a source file.void
includeClassPattern(java.io.File[] classpath, java.lang.String pattern)
Specifies a set of java class files to be excluded in the JamService.void
includeSourceFile(java.io.File file)
Include a single java source file to be viewed.void
includeSourceFile(java.io.File[] sourcepath, java.io.File sourceFile)
Includes a single source File in the JamService.void
includeSourcePattern(java.io.File[] sourcepath, java.lang.String pattern)
Specifies a set of java source files to be included in the JamService.void
set14WarningsEnabled(boolean b)
Sets whether warnings should be displayed when running under JDK 1.4.void
setJamLogger(JamLogger logger)
Sets the JamLogger which will receive error and warning messages from JAM.void
setJavadocTagParser(JavadocTagParser tp)
void
setLoggerWriter(java.io.PrintWriter out)
Sets a PrintWriter to which the JamService implementation should log errors and debugging information.void
setParentClassLoader(JamClassLoader loader)
Sets the parent JamClassLoader of the service JamClassLoader.void
setProperty(java.lang.String name, java.lang.String value)
Sets an implementation-specific property.void
setPropertyInitializer(MVisitor initializer)
void
setShowWarnings(boolean b)
Enables or suppresses the logging of warning messages.void
setUseSystemClasspath(boolean use)
Specifies whether the JAM Service should load classes from the system classpath.void
setVerbose(boolean v)
Deprecated.use setVerbose(Class).void
setVerbose(java.lang.Class c)
Enables verbose debugging output from all instances of the given class.
-
-
-
Method Detail
-
includeSourceFile
void includeSourceFile(java.io.File file)
Include a single java source file to be viewed. Note that if your code is able to understand the file/package structure in which the source exists, you may get better performance by using the various include... methods which take a sourcepath parameter.
-
includeSourcePattern
void includeSourcePattern(java.io.File[] sourcepath, java.lang.String pattern)
Specifies a set of java source files to be included in the JamService.Note that calling this method implicitly includes the 'root' in the sourcepath (exactly as if addSourcepath(root) had been called).
- Parameters:
sourcepath
- Root directory/ies containing source files.pattern
- A relative file pattern (as described above under 'Include and Exclude Patterns').- Throws:
java.lang.IllegalArgumentException
- if either argument is null.
-
excludeSourcePattern
void excludeSourcePattern(java.io.File[] sourcepath, java.lang.String pattern)
Specifies a set of java source files to be excluded in the JamService. Note that calling this method implicitly includes the 'sourcepath' in the sourcepath (as in a call to addSourcepath(sourcepath)).- Parameters:
sourcepath
- Root directory of the source files.pattern
- A relative file pattern (as described above under 'Include and Exclude Patterns').- Throws:
java.lang.IllegalArgumentException
- if either argument is null.
-
includeClassPattern
void includeClassPattern(java.io.File[] classpath, java.lang.String pattern)
Specifies a set of java class files to be excluded in the JamService. Note that calling this method implicitly includes the 'classpath' in the classpath (as in a call to addClasspath(classpath)).- Parameters:
classpath
- Root directory of the source files.pattern
- A relative file pattern (as described above under 'Include and Exclude Patterns').- Throws:
java.lang.IllegalArgumentException
- if either argument is null.
-
excludeClassPattern
void excludeClassPattern(java.io.File[] classpath, java.lang.String pattern)
Specifies a set of java class files to be excluded from the JamService. Note that calling this method implicitly includes the 'classpath' in the classpath (as in a call to addClasspath(classpath)).- Parameters:
classpath
- Root directory of the source files.pattern
- A relative file pattern (as described above under 'Include and Exclude Patterns').- Throws:
java.lang.IllegalArgumentException
- if either argument is null.
-
includeSourceFile
void includeSourceFile(java.io.File[] sourcepath, java.io.File sourceFile)
Includes a single source File in the JamService. The sourcepath parameter should identify the source sourcepath of the java source file; the sourceFile parameter must be under the sourcepath subtree.
For example, if a class "foo.bar.MyClass" is stored in a file "c:/myproject/src/foo/bar/MyClass.java", that class could be included in the service by calling
includeSourceFile(new File("c:/myproject/src"), new File("c:/myproject/src/foo/bar/MyClass.java"));
Note that this equivalent to calling
includeSourceFiles(new File("c:/myproject/src"),"foo/bar/MyClass.java");
If you are calling this method and have more than one sourcepath directory, and do not readily know which is the correct sourcepath for a given source File, you can use the getRootForFile() utility method to determine the correct sourcepath to use.
Note that calling this method implicitly includes the 'sourcepath' in the sourcepath (exactly as if addSourcepath(sourcepath) had been called).
- Parameters:
sourcepath
- source sourcepath for the java source filesourceFile
- the java source file- Throws:
java.lang.IllegalArgumentException
- if either argument is null or if sourcepath is not an ancestor of sourceFile in the file system.
-
excludeSourceFile
void excludeSourceFile(java.io.File[] sourcepath, java.io.File sourceFile)
Excludes a single source File in the JamService in exactly the same way theat includeSourceFile() includes a source file.
-
includeClassFile
void includeClassFile(java.io.File[] sourcepath, java.io.File sourceFile)
Includes a single class File in the JamService in exactly the same way theat includeSourceFile() includes a source file.
-
excludeClassFile
void excludeClassFile(java.io.File[] sourcepath, java.io.File sourceFile)
Excludes a single class File in the JamService in exactly the same way theat includeSourceFile() includes a source file.
-
includeClass
void includeClass(java.lang.String qualifiedClassname)
Names a specific class to be included in the JamService. Note that this will return an 'unresolved' JClass unless a source or class file for the named class is available in the classpath or sourcepath.- Parameters:
qualifiedClassname
- a full-qualified classname- Throws:
java.lang.IllegalArgumentException
- if the argument is null or not a valid classname.
-
excludeClass
void excludeClass(java.lang.String qualifiedClassname)
Names a specific class to be excluded in the JamService. Note that this will have no affect if the named class cannot be found in the sourcepath or classpath.- Parameters:
qualifiedClassname
- a full-qualified classname- Throws:
java.lang.IllegalArgumentException
- if the argument is null or not a valid classname.
-
addSourcepath
void addSourcepath(java.io.File sourcepathElement)
Adds an elements to the JamService sourcepath. The service's JamClassLoader will search this path to find a .java file on which to base a JClass when requested to load a class that was not included in the service.
-
addClasspath
void addClasspath(java.io.File classpathElement)
Adds an elements to the JamService classpath. The service's JamClassLoader will search this path to find a .class file on which to base a JClass when requested to load a class that was not included in the service and for which no source could be found in the sourcepath.- Parameters:
classpathElement
- elements of the classpath- Throws:
java.lang.IllegalArgumentException
- if the argument is null
-
setLoggerWriter
void setLoggerWriter(java.io.PrintWriter out)
Sets a PrintWriter to which the JamService implementation should log errors and debugging information. If this is never set, all such output will be suppressed.- Parameters:
out
- a PrintWriter to write to- Throws:
java.lang.IllegalArgumentException
- if the argument is null
-
setJamLogger
void setJamLogger(JamLogger logger)
Sets the JamLogger which will receive error and warning messages from JAM.
-
setVerbose
void setVerbose(java.lang.Class c)
Enables verbose debugging output from all instances of the given class.
-
setShowWarnings
void setShowWarnings(boolean b)
Enables or suppresses the logging of warning messages. By default this is true.
-
setParentClassLoader
void setParentClassLoader(JamClassLoader loader)
Sets the parent JamClassLoader of the service JamClassLoader.- Parameters:
loader
- the parent loaer- Throws:
java.lang.IllegalArgumentException
- if the argument is null
-
addToolClasspath
void addToolClasspath(java.io.File classpathElement)
Adds an elements to the tool classpath. This is the classpath that will be used by the JamService implementation to find any libraries on which it depends. This classpath is distinct from the service classpath set by addClasspath() in that it has no affect on the input class set - it's only used for finding classes on which JAM itself depends.
- Parameters:
classpathElement
- elements of the classpath- Throws:
java.lang.IllegalArgumentException
- if the argument is null
-
setPropertyInitializer
void setPropertyInitializer(MVisitor initializer)
-
addInitializer
void addInitializer(MVisitor initializer)
-
setJavadocTagParser
void setJavadocTagParser(JavadocTagParser tp)
-
setUseSystemClasspath
void setUseSystemClasspath(boolean use)
Specifies whether the JAM Service should load classes from the system classpath. The default for this is true, and you shouldn't set it to false unless you really know what you are doing.
-
addClassBuilder
void addClassBuilder(JamClassBuilder cb)
Adds a custom JamClassBuilder which will be consulted by the JamClassLoader when constructing representation of java types. The given class builder will have priority over priority over JAM's default source- and reflection-based ClassBuilders. If this method id called more than once, the extra class builders will be prioritized in the order in which they were added.
-
addClassLoader
void addClassLoader(java.lang.ClassLoader cl)
DOCME
-
setProperty
void setProperty(java.lang.String name, java.lang.String value)
Sets an implementation-specific property.
-
set14WarningsEnabled
void set14WarningsEnabled(boolean b)
Sets whether warnings should be displayed when running under JDK 1.4. The default is true.
-
setVerbose
void setVerbose(boolean v)
Deprecated.use setVerbose(Class). This is the same as setVerbose(Object.class).
-
-