|
Web Site | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.janino.Scanner
Splits up a character stream into tokens and returns them as
String
objects.
The optionalFileName
parameter passed to many
constructors should point
Nested Class Summary | |
class |
Scanner.EOFToken
|
class |
Scanner.IdentifierToken
|
class |
Scanner.KeywordToken
|
class |
Scanner.LiteralToken
The type of the value parameter determines the type of the literal
token:
Type/value returned by Scanner.LiteralToken.getLiteralValue() Literal
String STRING literal
Character CHAR literal
Integer INT literal
Long LONG literal
Float FLOAT literal
Double DOUBLE literal
Boolean BOOLEAN literal
null NULL literal
|
class |
Scanner.OperatorToken
|
class |
Scanner.ScanException
An exception that reflects an error during parsing. |
class |
Scanner.Token
|
Field Summary | |
static java.lang.Integer |
MAGIC_INTEGER
This value represents the "magic" literal "2147483648" which is only allowed in a negated context. |
static java.lang.Long |
MAGIC_LONG
This value represents the "magic" literal "9223372036854775808L" which is only allowed in a negated context. |
Constructor Summary | |
Scanner(java.io.File file)
Deprecated. |
|
Scanner(java.io.File file,
java.lang.String optionalEncoding)
Deprecated. |
|
Scanner(java.lang.String fileName)
Deprecated. |
|
Scanner(java.lang.String optionalFileName,
java.io.InputStream is)
Set up a scanner that reads tokens from the given InputStream in the platform default encoding. |
|
Scanner(java.lang.String optionalFileName,
java.io.InputStream is,
java.lang.String optionalEncoding)
Set up a scanner that reads tokens from the given InputStream with the given optionalEncoding
(null means platform default encoding). |
|
Scanner(java.lang.String optionalFileName,
java.io.Reader in)
Set up a scanner that reads tokens from the given Reader . |
|
Scanner(java.lang.String optionalFileName,
java.io.Reader in,
short initialLineNumber,
short initialColumnNumber)
Creates a Scanner that counts lines and columns from non-default initial
values. |
|
Scanner(java.lang.String fileName,
java.lang.String encoding)
Deprecated. |
Method Summary | |
void |
close()
Deprecated. |
java.lang.String |
doc()
Get the text of the doc comment (a.k.a. |
java.lang.String |
getFileName()
Return the file name optionally passed to the constructor. |
static java.lang.String |
literalValueToString(java.lang.Object v)
|
Location |
location()
Returns the Location of the next token. |
Scanner.Token |
peek()
Peek the next token, but don't remove it from the input. |
Scanner.Token |
peekNextButOne()
Peek the next but one token, neither remove the next nor the next but one token from the input. |
Scanner.Token |
read()
Read the next token from the input. |
void |
setWarningHandler(WarningHandler optionalWarningHandler)
By default, warnings are discarded, but an application my install a WarningHandler . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.Integer MAGIC_INTEGER
public static final java.lang.Long MAGIC_LONG
Constructor Detail |
public Scanner(java.lang.String fileName) throws Scanner.ScanException, java.io.IOException
This method is deprecated because it leaves the input file open.
public Scanner(java.lang.String fileName, java.lang.String encoding) throws Scanner.ScanException, java.io.IOException
This method is deprecated because it leaves the input file open.
public Scanner(java.io.File file) throws Scanner.ScanException, java.io.IOException
This method is deprecated because it leaves the input file open.
public Scanner(java.io.File file, java.lang.String optionalEncoding) throws Scanner.ScanException, java.io.IOException
This method is deprecated because it leaves the input file open.
public Scanner(java.lang.String optionalFileName, java.io.InputStream is) throws Scanner.ScanException, java.io.IOException
InputStream
in the platform default encoding.
The fileName
is solely used for reporting in thrown
exceptions.
public Scanner(java.lang.String optionalFileName, java.io.InputStream is, java.lang.String optionalEncoding) throws Scanner.ScanException, java.io.IOException
InputStream
with the given optionalEncoding
(null
means platform default encoding).
The optionalFileName
is used for reporting errors during
compilation and for source level debugging, and should name an existing
file. If null
is passed, and the system property
org.codehaus.janino.source_debugging.enable
is set to "true", then
a temporary file in org.codehaus.janino.source_debugging.dir
or the
system's default temp dir is created in order to make the source code
available to a debugger.
public Scanner(java.lang.String optionalFileName, java.io.Reader in) throws Scanner.ScanException, java.io.IOException
Reader
.
The optionalFileName
is used for reporting errors during
compilation and for source level debugging, and should name an existing
file. If null
is passed, and the system property
org.codehaus.janino.source_debugging.enable
is set to "true", then
a temporary file in org.codehaus.janino.source_debugging.dir
or the
system's default temp dir is created in order to make the source code
available to a debugger.
public Scanner(java.lang.String optionalFileName, java.io.Reader in, short initialLineNumber, short initialColumnNumber) throws Scanner.ScanException, java.io.IOException
Scanner
that counts lines and columns from non-default initial
values.
Method Detail |
public java.lang.String getFileName()
public void close() throws java.io.IOException
InputStream
, Reader
) associated
with this object. The results of future calls to peek()
and
read()
are undefined.
This method is deprecated, because the concept described above is confusing. An
application should close the underlying InputStream
or Reader
itself.
java.io.IOException
public Scanner.Token read() throws Scanner.ScanException, java.io.IOException
Scanner.ScanException
java.io.IOException
public Scanner.Token peek()
public Scanner.Token peekNextButOne() throws Scanner.ScanException, java.io.IOException
This makes parsing so much easier, e.g. for class literals like
Map.class
.
Scanner.ScanException
java.io.IOException
public java.lang.String doc()
null
if the next token is not preceeded by a doc commentpublic Location location()
Location
of the next token.
public static java.lang.String literalValueToString(java.lang.Object v)
public void setWarningHandler(WarningHandler optionalWarningHandler)
WarningHandler
.
Notice that there is no Scanner.setErrorHandler()
method, but scan errors
always throw a Scanner.ScanException
. The reason being is that there is no reasonable
way to recover from scan errors and continue scanning, so there is no need to install
a custom scan error handler.
optionalWarningHandler
- null
to indicate that no warnings be issued
|
Web Site | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |