public class Tokenizer extends Object implements AutoCloseable
Modifier and Type | Class and Description |
---|---|
static class |
Tokenizer.Token |
Modifier and Type | Field and Description |
---|---|
static int |
COMMENT
A comment; only returned when wantComment is set
|
static int |
EOF
End of file
|
static int |
EOL
End of line
|
static int |
IDENTIFIER
An identifier (unquoted string)
|
static int |
QUOTED_STRING
A quoted string
|
static int |
WHITESPACE
Whitespace; only returned when wantWhitespace is set
|
Constructor and Description |
---|
Tokenizer(File f)
Creates a Tokenizer from a file.
|
Tokenizer(InputStream is)
Creates a Tokenizer from an arbitrary input stream.
|
Tokenizer(String s)
Creates a Tokenizer from a string.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes any files opened by this tokenizer.
|
TextParseException |
exception(String s)
Creates an exception which includes the current state in the error message
|
Tokenizer.Token |
get()
Gets the next token from a tokenizer, ignoring whitespace and comments.
|
Tokenizer.Token |
get(boolean wantWhitespace,
boolean wantComment)
Gets the next token from a tokenizer.
|
InetAddress |
getAddress(int family)
Gets the next token from a tokenizer and converts it to an IP Address.
|
byte[] |
getAddressBytes(int family)
Gets the next token from a tokenizer and converts it to a byte array containing an IP address.
|
byte[] |
getBase32String(base32 b32)
Gets the next token from a tokenizer and decodes it as base32.
|
byte[] |
getBase64()
Gets the remaining string tokens until an EOL/EOF is seen, concatenates them together, and
converts the base64 encoded data to a byte array.
|
byte[] |
getBase64(boolean required)
Gets the remaining string tokens until an EOL/EOF is seen, concatenates them together, and
converts the base64 encoded data to a byte array.
|
void |
getEOL()
Gets the next token from a tokenizer, which must be an EOL or EOF.
|
byte[] |
getHex()
Gets the remaining string tokens until an EOL/EOF is seen, concatenates them together, and
converts the hex encoded data to a byte array.
|
byte[] |
getHex(boolean required)
Gets the remaining string tokens until an EOL/EOF is seen, concatenates them together, and
converts the hex encoded data to a byte array.
|
byte[] |
getHexString()
Gets the next token from a tokenizer and decodes it as hex.
|
String |
getIdentifier()
Gets the next token from a tokenizer, ensures it is an unquoted string, and converts it to a
string.
|
long |
getLong()
Gets the next token from a tokenizer and converts it to a long.
|
Name |
getName(Name origin)
Gets the next token from a tokenizer and converts it to a name.
|
String |
getString()
Gets the next token from a tokenizer and converts it to a string.
|
long |
getTTL()
Gets the next token from a tokenizer and parses it as a TTL.
|
long |
getTTLLike()
Gets the next token from a tokenizer and parses it as if it were a TTL.
|
int |
getUInt16()
Gets the next token from a tokenizer and converts it to an unsigned 16 bit integer.
|
long |
getUInt32()
Gets the next token from a tokenizer and converts it to an unsigned 32 bit integer.
|
int |
getUInt8()
Gets the next token from a tokenizer and converts it to an unsigned 8 bit integer.
|
void |
unget()
Returns a token to the stream, so that it will be returned by the next call to get().
|
public static final int EOF
public static final int EOL
public static final int WHITESPACE
public static final int IDENTIFIER
public static final int QUOTED_STRING
public static final int COMMENT
public Tokenizer(InputStream is)
is
- The InputStream to tokenize.public Tokenizer(String s)
s
- The String to tokenize.public Tokenizer(File f) throws FileNotFoundException
f
- The File to tokenize.FileNotFoundException
public Tokenizer.Token get(boolean wantWhitespace, boolean wantComment) throws IOException
wantWhitespace
- If true, leading whitespace will be returned as a token.wantComment
- If true, comments are returned as tokens.TextParseException
- The input was invalid.IOException
- An I/O error occurred.public Tokenizer.Token get() throws IOException
TextParseException
- The input was invalid.IOException
- An I/O error occurred.public void unget()
IllegalStateException
- There are already ungotten tokens.public String getString() throws IOException
TextParseException
- The input was invalid or not a string.IOException
- An I/O error occurred.public String getIdentifier() throws IOException
TextParseException
- The input was invalid or not an unquoted string.IOException
- An I/O error occurred.public long getLong() throws IOException
TextParseException
- The input was invalid or not a long.IOException
- An I/O error occurred.public long getUInt32() throws IOException
TextParseException
- The input was invalid or not an unsigned 32 bit integer.IOException
- An I/O error occurred.public int getUInt16() throws IOException
TextParseException
- The input was invalid or not an unsigned 16 bit integer.IOException
- An I/O error occurred.public int getUInt8() throws IOException
TextParseException
- The input was invalid or not an unsigned 8 bit integer.IOException
- An I/O error occurred.public long getTTL() throws IOException
TextParseException
- The input was not valid.IOException
- An I/O error occurred.TTL
public long getTTLLike() throws IOException
TextParseException
- The input was not valid.IOException
- An I/O error occurred.TTL
public Name getName(Name origin) throws IOException
origin
- The origin to append to relative names.TextParseException
- The input was invalid or not a valid name.IOException
- An I/O error occurred.RelativeNameException
- The parsed name was relative, even with the origin.Name
public byte[] getAddressBytes(int family) throws IOException
family
- The address family.TextParseException
- The input was invalid or not a valid address.IOException
- An I/O error occurred.Address
public InetAddress getAddress(int family) throws IOException
family
- The address family.TextParseException
- The input was invalid or not a valid address.IOException
- An I/O error occurred.Address
public void getEOL() throws IOException
TextParseException
- The input was invalid or not an EOL or EOF token.IOException
- An I/O error occurred.public byte[] getBase64(boolean required) throws IOException
required
- If true, an exception will be thrown if no strings remain; otherwise null be be
returned.TextParseException
- The input was invalid.IOException
- An I/O error occurred.public byte[] getBase64() throws IOException
TextParseException
- The input was invalid.IOException
- An I/O error occurred.public byte[] getHex(boolean required) throws IOException
required
- If true, an exception will be thrown if no strings remain; otherwise null be be
returned.TextParseException
- The input was invalid.IOException
- An I/O error occurred.public byte[] getHex() throws IOException
TextParseException
- The input was invalid.IOException
- An I/O error occurred.public byte[] getHexString() throws IOException
TextParseException
- The input was invalid.IOException
- An I/O error occurred.public byte[] getBase32String(base32 b32) throws IOException
b32
- The base32 context to decode with.TextParseException
- The input was invalid.IOException
- An I/O error occurred.public TextParseException exception(String s)
s
- The error message to include.public void close()
close
in interface AutoCloseable
Copyright © 2020 dnsjava.org. All rights reserved.