public class Transformer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static TransformRule[] |
RULES
The refactoring rules to be sequentially applied to the source code.
|
Modifier and Type | Method and Description |
---|---|
protected void |
_afterTraverse()
Call the afterTraverse of all the refactoring rules.
|
protected void |
_beforeTraverse()
Call the beforeTraverse of all the refactoring rules.
|
protected static void |
_outputConfig()
Output XML configuration to the pre-defined file (specified with
"-config" argument in
main(String[]) ). |
protected void |
_outputSource(java.io.Writer writer,
java.lang.String fileName)
Output the Java source from the current AST with
ASTFormatter . |
protected void |
_parse()
Parse the Java source and retrieve the AST.
|
protected void |
_startTransform()
Start the transformation by first parsing the source with
_parse() , then call _beforeTraverse() ,
then traverse the AST with TypeAnalyzer visitor,
and finally call _afterTraverse() . |
static void |
main(java.lang.String[] args)
Transform a set of files into backtracking-enabled ones.
|
static int |
parseArguments(java.lang.String[] args,
int position)
Parse the command-line arguments starting from the given position.
|
static void |
transform(java.lang.String fileName,
org.eclipse.jdt.core.dom.CompilationUnit ast,
java.io.Writer writer,
java.lang.String[] classPaths,
java.lang.String[] crossAnalyzedTypes)
Transform the AST with given class paths, and output the result to
the writer.
|
static void |
transform(java.lang.String fileName,
java.io.Writer writer)
Transform the Java source in the file given by its name with no
explicit class path, and output the result to the writer.
|
static void |
transform(java.lang.String fileName,
java.io.Writer writer,
java.lang.String[] classPaths)
Transform the Java source in the file given by its name with
given class paths, and output the result to the writer.
|
static void |
transform(java.lang.String fileName,
java.io.Writer writer,
java.lang.String[] classPaths,
java.lang.String[] crossAnalyzedTypes)
Transform the Java source in the file given by its name with
given class paths, and output the result to the writer.
|
public static TransformRule[] RULES
public static void main(java.lang.String[] args) throws java.lang.Exception
args
- The array of file names or names of directories.java.lang.Exception
- If any exception occures.public static int parseArguments(java.lang.String[] args, int position)
args
- The command-line arguments.position
- The starting position.public static void transform(java.lang.String fileName, org.eclipse.jdt.core.dom.CompilationUnit ast, java.io.Writer writer, java.lang.String[] classPaths, java.lang.String[] crossAnalyzedTypes) throws java.io.IOException, ASTMalformedException
If a output directory is set with the -output command-line argument, the output is written to a Java source file with that directory as the root directory. The given writer is not used in that case.
fileName
- The Java file name.ast
- The AST to be refactored.writer
- The writer where output is written.classPaths
- The class paths.crossAnalyzedTypes
- The array of names of types to be added to
the visitor's cross-analyzed types list.java.io.IOException
- If IO exception occurs when reading from
the Java file or riting to the output.ASTMalformedException
- If the Java source is illegal.transform(String, Writer)
public static void transform(java.lang.String fileName, java.io.Writer writer) throws java.io.IOException, ASTMalformedException
fileName
- The Java file name.writer
- The writer where output is written.java.io.IOException
- If IO exception occurs when reading from
the Java file or riting to the output.ASTMalformedException
- If the Java source is illegal.transform(String, Writer, String[])
public static void transform(java.lang.String fileName, java.io.Writer writer, java.lang.String[] classPaths) throws java.io.IOException, ASTMalformedException
If a output directory is set with the -output command-line argument, the output is written to a Java source file with that directory as the root directory. The given writer is not used in that case.
fileName
- The Java file name.writer
- The writer where output is written.classPaths
- The class paths.java.io.IOException
- If IO exception occurs when reading from
the Java file or riting to the output.ASTMalformedException
- If the Java source is illegal.transform(String, Writer)
public static void transform(java.lang.String fileName, java.io.Writer writer, java.lang.String[] classPaths, java.lang.String[] crossAnalyzedTypes) throws java.io.IOException, ASTMalformedException
If a output directory is set with the -output command-line argument, the output is written to a Java source file with that directory as the root directory. The given writer is not used in that case.
fileName
- The Java file name.writer
- The writer where output is written.classPaths
- The class paths.crossAnalyzedTypes
- The array of names of types to be added to
the visitor's cross-analyzed types list.java.io.IOException
- If IO exception occurs when reading from
the Java file or riting to the output.ASTMalformedException
- If the Java source is illegal.transform(String, Writer)
protected void _afterTraverse()
protected void _beforeTraverse()
protected static void _outputConfig() throws java.lang.Exception
main(String[])
).java.lang.Exception
- If any error occurs.protected void _outputSource(java.io.Writer writer, java.lang.String fileName) throws java.io.IOException
ASTFormatter
.writer
- The writer where the output is written to.fileName
- The file name of the writer.java.io.IOException
- If error occurs while writing to the writer.protected void _parse() throws java.io.IOException, ASTMalformedException
java.io.IOException
- If a file name is given, but exception
occurs when reading from the file.ASTMalformedException
- If the source is illegal.protected void _startTransform() throws java.io.IOException, ASTMalformedException
_parse()
, then call _beforeTraverse()
,
then traverse the AST with TypeAnalyzer
visitor,
and finally call _afterTraverse()
.java.io.IOException
- If a file name is given, but exception
occurs when reading from the file.ASTMalformedException
- If the source is illegal._afterTraverse()
,
_beforeTraverse()
,
_parse()