Package org.codehaus.mojo.javacc
Class GrammarInfo
- java.lang.Object
-
- org.codehaus.mojo.javacc.GrammarInfo
-
class GrammarInfo extends java.lang.ObjectThis bean holds some output related information about a JavaCC grammar file. It assists in determining the exact output location for the generated parser file.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringgrammarFileThe path to the grammar file (relative to its source directory, e.g.private java.lang.StringparserDirectoryThe path to the directory of the parser package (relative to a source root directory, e.g.private java.lang.StringparserFileThe path to the generated parser file (relative to a source root directory, e.g.private java.lang.StringparserNameThe simple name of the generated parser (e.g.private java.lang.StringparserPackageThe declared package for the generated parser (e.g.private java.io.FilesourceDirectoryThe absolute path to the base directory in which the grammar file resides.
-
Constructor Summary
Constructors Constructor Description GrammarInfo(java.io.File sourceDir, java.lang.String inputFile)Creates a new info from the specified grammar file.GrammarInfo(java.io.File sourceDir, java.lang.String inputFile, java.lang.String packageName)Creates a new info from the specified grammar file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringfindPackageName(java.lang.String grammar)Extracts the declared package name from the specified grammar file.private java.lang.StringfindParserName(java.lang.String grammar)Extracts the simple parser name from the specified grammar file.java.io.FilegetGrammarFile()Gets the absolute path to the grammar file.java.lang.StringgetParserDirectory()Gets the path to the directory of the parser package (relative to a source root directory, e.g.java.lang.StringgetParserFile()Gets the path to the parser file (relative to a source root directory, e.g.java.lang.StringgetParserName()Gets the simple name of the generated parser (e.g.java.lang.StringgetParserPackage()Gets the declared package for the generated parser (e.g.java.lang.StringgetRelativeGrammarFile()Gets the path to the grammar file (relative to its source directory).java.io.FilegetSourceDirectory()Gets the absolute path to the base directory in which the grammar file resides.java.lang.StringresolvePackageName(java.lang.String packageName)Resolves the specified package name against the package name of the parser generated from this grammar.java.lang.StringtoString()Gets a string representation of this bean.
-
-
-
Field Detail
-
sourceDirectory
private final java.io.File sourceDirectory
The absolute path to the base directory in which the grammar file resides.
-
grammarFile
private final java.lang.String grammarFile
The path to the grammar file (relative to its source directory, e.g. "grammars/MyParser.jj").
-
parserPackage
private final java.lang.String parserPackage
The declared package for the generated parser (e.g. "org.apache").
-
parserDirectory
private final java.lang.String parserDirectory
The path to the directory of the parser package (relative to a source root directory, e.g. "org/apache").
-
parserName
private final java.lang.String parserName
The simple name of the generated parser (e.g. "MyParser").
-
parserFile
private final java.lang.String parserFile
The path to the generated parser file (relative to a source root directory, e.g. "org/apache/MyParser.java").
-
-
Constructor Detail
-
GrammarInfo
public GrammarInfo(java.io.File sourceDir, java.lang.String inputFile) throws java.io.IOExceptionCreates a new info from the specified grammar file.- Parameters:
sourceDir- The absolute path to the base directory in which the grammar file resides, must not benull.inputFile- The path to the grammar file (relative to the source directory), must not benull.- Throws:
java.io.IOException- If reading the grammar file failed.
-
GrammarInfo
public GrammarInfo(java.io.File sourceDir, java.lang.String inputFile, java.lang.String packageName) throws java.io.IOExceptionCreates a new info from the specified grammar file.- Parameters:
sourceDir- The absolute path to the base directory in which the grammar file resides, must not benull.inputFile- The path to the grammar file (relative to the source directory), must not benull.packageName- The package name for the generated parser, may benullto use the package declaration from the grammar file.- Throws:
java.io.IOException- If reading the grammar file failed.
-
-
Method Detail
-
findPackageName
private java.lang.String findPackageName(java.lang.String grammar)
Extracts the declared package name from the specified grammar file.- Parameters:
grammar- The contents of the grammar file, must not benull.- Returns:
- The declared package name or an empty string if not found.
-
findParserName
private java.lang.String findParserName(java.lang.String grammar)
Extracts the simple parser name from the specified grammar file.- Parameters:
grammar- The contents of the grammar file, must not benull.- Returns:
- The parser name or an empty string if not found.
-
getSourceDirectory
public java.io.File getSourceDirectory()
Gets the absolute path to the base directory in which the grammar file resides. Note that this is not necessarily the parent directory of the grammar file.- Returns:
- The absolute path to the base directory in which the grammar file resides, never
null.
-
getGrammarFile
public java.io.File getGrammarFile()
Gets the absolute path to the grammar file.- Returns:
- The absolute path to the grammar file, never
null.
-
getRelativeGrammarFile
public java.lang.String getRelativeGrammarFile()
Gets the path to the grammar file (relative to its source directory).- Returns:
- The path to the grammar file (relative to its source directory), never
null.
-
resolvePackageName
public java.lang.String resolvePackageName(java.lang.String packageName)
Resolves the specified package name against the package name of the parser generated from this grammar. To reference the parser package, the input string may use the prefix "*". For example, if the package for the parser is "org.apache" and the input string is "*.node", the resolved package is "org.apache.node". The period after the asterisk is significant, i.e. in the previous example the input string "*node" would resolve to "org.apachenode".- Parameters:
packageName- The package name to resolve, may benull.- Returns:
- The resolved package name or
nullif the input string wasnull.
-
getParserPackage
public java.lang.String getParserPackage()
Gets the declared package for the generated parser (e.g. "org.apache").- Returns:
- The declared package for the generated parser (e.g. "org.apache") or an empty string if no package
declaration was found, never
null.
-
getParserDirectory
public java.lang.String getParserDirectory()
Gets the path to the directory of the parser package (relative to a source root directory, e.g. "org/apache").- Returns:
- The path to the directory of the parser package (relative to a source root directory, e.g. "org/apache")
or an empty string if no package declaration was found, never
null.
-
getParserName
public java.lang.String getParserName()
Gets the simple name of the generated parser (e.g. "MyParser")- Returns:
- The simple name of the generated parser (e.g. "MyParser"), never
null.
-
getParserFile
public java.lang.String getParserFile()
Gets the path to the parser file (relative to a source root directory, e.g. "org/apache/MyParser.java").- Returns:
- The path to the parser file (relative to a source root directory, e.g. "org/apache/MyParser.java"), never
null.
-
toString
public java.lang.String toString()
Gets a string representation of this bean. This value is for debugging purposes only.- Overrides:
toStringin classjava.lang.Object- Returns:
- A string representation of this bean.
-
-