|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--jatha.Expander
This is the class that does the actual macro expansion. It can get its input from a file or from a LineNumberReader.
Note: when an Expander is created, it has no registered MacroFactories. If you want it to use a DefaultMacroFactory, you'll have to register it yourself.
Constructor Summary | |
Expander()
|
Method Summary | |
void |
error(java.lang.String msg)
Prints an error message and throws a MacroError. |
void |
expandMacro(java.lang.String macroName,
java.lang.String args,
java.io.Writer out)
|
java.io.File |
getFile()
Returns the name of the file currently being processed. |
int |
getLine()
Returns the current line number in the current file. |
java.lang.Object |
getMessage(java.lang.String description)
Allows a macro to retrieve a message left by a previous macro. |
void |
leaveMessage(java.lang.String description,
java.lang.Object message)
Allows a macro to leave a message that can be retrieved by later macros. |
void |
processFile(java.io.File inFile,
java.io.File outFile,
boolean force,
boolean quiet)
|
void |
processFile(java.io.LineNumberReader in,
java.io.Writer out)
|
void |
registerMacroFactory(MacroFactory factory,
boolean justThisFile)
Registers a new MacroFactory which will be used to lookup Macros. |
void |
trace(java.lang.String msg)
Prints an error message, but doesn't throw a MacroError like error() does. |
boolean |
unregisterMacroFactory(MacroFactory factory)
Unregister a macro factory. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Expander()
Method Detail |
public void processFile(java.io.File inFile, java.io.File outFile, boolean force, boolean quiet)
public void processFile(java.io.LineNumberReader in, java.io.Writer out) throws java.io.IOException, jatha.MacroError
public void expandMacro(java.lang.String macroName, java.lang.String args, java.io.Writer out)
public void registerMacroFactory(MacroFactory factory, boolean justThisFile)
justThisFile
- if true, the macro factory will only be in effect
for the current file.public boolean unregisterMacroFactory(MacroFactory factory)
public java.io.File getFile()
public int getLine()
public void leaveMessage(java.lang.String description, java.lang.Object message)
public java.lang.Object getMessage(java.lang.String description)
public void error(java.lang.String msg)
public void trace(java.lang.String msg)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |