org.codehaus.janino.tools

Class JGrep

public class JGrep extends Object

Reads a set of compilation units from the file system and searches it for specific JavaTM constructs, e.g. invocations of a particular method. Usage:
 java org.codehaus.janino.JGrep \
           [ -dirs directory-name-patterns ] \
           [ -files file-name-patterns ] \
           { directory-path } \
           -method-invocation class.method(arg-types)
 java org.codehaus.janino.JGrep -help
 
If "-dirs" is not given, then all directory-pathes are scanned for files. The directory-name-patterns work as described in parseCombinedPattern.

If "-files" is not given, then all files ending in ".java" are read. The file-name-patterns work as described in parseCombinedPattern.

Nested Class Summary
interfaceJGrep.MethodInvocationAction
interfaceJGrep.MethodInvocationPredicate
Constructor Summary
JGrep(File[] classPath, File[] optionalExtDirs, File[] optionalBootClassPath, String optionalCharacterEncoding, boolean verbose)
JGrep(IClassLoader iClassLoader, String optionalCharacterEncoding, boolean verbose)
Method Summary
static FilegetClassFile(String className, File sourceFile, File optionalDestinationDirectory)
Construct the name of a file that could store the byte code of the class with the given name.
voidjGrep(File[] rootDirectories, StringPattern[] directoryNamePatterns, StringPattern[] fileNamePatterns, List methodInvocationTargets)
voidjGrep(Iterator sourceFilesIterator, List methodInvocationTargets)
static voidmain(String[] args)
Command line interface.

Constructor Detail

JGrep

public JGrep(File[] classPath, File[] optionalExtDirs, File[] optionalBootClassPath, String optionalCharacterEncoding, boolean verbose)

JGrep

public JGrep(IClassLoader iClassLoader, String optionalCharacterEncoding, boolean verbose)

Method Detail

getClassFile

public static File getClassFile(String className, File sourceFile, File optionalDestinationDirectory)
Construct the name of a file that could store the byte code of the class with the given name.

If optionalDestinationDirectory is non-null, the returned path is the optionalDestinationDirectory plus the package of the class (with dots replaced with file separators) plus the class name plus ".class". Example: "destdir/pkg1/pkg2/Outer$Inner.class"

If optionalDestinationDirectory is null, the returned path is the directory of the sourceFile plus the class name plus ".class". Example: "srcdir/Outer$Inner.class"

Parameters: className E.g. "pkg1.pkg2.Outer$Inner" sourceFile E.g. "srcdir/Outer.java" optionalDestinationDirectory E.g. "destdir"

jGrep

public void jGrep(File[] rootDirectories, StringPattern[] directoryNamePatterns, StringPattern[] fileNamePatterns, List methodInvocationTargets)

jGrep

public void jGrep(Iterator sourceFilesIterator, List methodInvocationTargets)

main

public static void main(String[] args)
Command line interface.