com.varankin.bnf
Class TerminalString
java.lang.Object
com.varankin.bnf.TerminalString
- All Implemented Interfaces:
- SyntacticPrimary, java.lang.CharSequence
- Direct Known Subclasses:
- SpecialSequence
public class TerminalString
- extends java.lang.Object
- implements SyntacticPrimary, java.lang.CharSequence
A quote-symbol followed by a sequence of
one or more terminal-characters followed by a
quote-symbol.
- Author:
- © 2009 Nikolai Varankine
Field Summary |
protected static java.util.Collection<java.lang.Character> |
QUOTES
Collection of quotes eligible for terminal string. |
Constructor Summary |
|
TerminalString(java.lang.Character aCharacter)
|
|
TerminalString(java.lang.Character aQuote,
java.lang.Character... aCharacters)
|
|
TerminalString(java.lang.Character aQuote,
java.lang.CharSequence aCharacters)
|
protected |
TerminalString(java.lang.Character aQuote,
java.util.Collection<java.lang.Character> aQuotes,
int aMin,
java.lang.Character... aString)
|
protected |
TerminalString(java.lang.CharSequence aCharacters)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
QUOTES
protected static final java.util.Collection<java.lang.Character> QUOTES
- Collection of quotes eligible for terminal string.
TerminalString
public TerminalString(java.lang.Character aQuote,
java.lang.Character... aCharacters)
- Parameters:
aQuote
- character used to quote specified string.aCharacters
- characters comprising this terminal string.
- Throws:
java.lang.NullPointerException
- if character string is null.
java.lang.IllegalArgumentException
- if either quote does not belong to QUOTES
or character string is empty, or character string contains
quote symbol.
TerminalString
public TerminalString(java.lang.Character aQuote,
java.lang.CharSequence aCharacters)
- Parameters:
aQuote
- character used to quote specified string.aCharacters
- characters comprising this terminal string.
- Throws:
java.lang.NullPointerException
- if character string is null.
java.lang.IllegalArgumentException
- if either quote does not belong to QUOTES
or character string is empty, or character string contains
quote symbol.
TerminalString
protected TerminalString(java.lang.CharSequence aCharacters)
- Parameters:
aCharacters
- characters comprising this terminal string.
- Throws:
java.lang.NullPointerException
- if character string is null.
java.lang.IllegalArgumentException
- if character string is empty,
or character string contains symbol belonging to QUOTES
.
TerminalString
public TerminalString(java.lang.Character aCharacter)
- Parameters:
aCharacter
- single character comprising this terminal string; arbitrary
non-conflicting quote is assumed.
- Throws:
java.lang.NullPointerException
- if character string is null.
TerminalString
protected TerminalString(java.lang.Character aQuote,
java.util.Collection<java.lang.Character> aQuotes,
int aMin,
java.lang.Character... aString)
- Parameters:
aQuote
- character used to quote specified string.aQuotes
- valid quote options.aMin
- minimum required number of characters.aString
- characters comprising this terminal string.
- Throws:
java.lang.NullPointerException
- if character string is null.
java.lang.IllegalArgumentException
- if either quote does not belong to specified set,
or character string is too short, or character string contains
quote symbol.
toString
public java.lang.String toString()
- Specified by:
toString
in interface java.lang.CharSequence
- Overrides:
toString
in class java.lang.Object
length
public int length()
- Specified by:
length
in interface java.lang.CharSequence
charAt
public char charAt(int index)
- Specified by:
charAt
in interface java.lang.CharSequence
subSequence
public java.lang.CharSequence subSequence(int start,
int end)
- Specified by:
subSequence
in interface java.lang.CharSequence