railo.commons.lang
Class ParserString

java.lang.Object
  extended by railo.commons.lang.ParserString

public final class ParserString
extends Object

Der CFMLString ist eine Hilfe fuer die Transformer, er repraesentiert den CFML Code und bietet Methoden an, um alle noetigen Informationen auszulesen und Manipulationen durchzufuehren. Dies um, innerhalb des Transformer, wiederkehrende Zeichenketten-Manipulationen zu abstrahieren.


Field Summary
static short AT_LEAST_ONE_SPACE
          Mindestens einen Space
static short ZERO_OR_MORE_SPACE
          Mindestens ein Space
 
Constructor Summary
ParserString(String text)
          Diesen Konstruktor kann er CFML Code als Zeichenkette uebergeben werden.
 
Method Summary
 char charAt(int pos)
          Gibt das Zeichen an der angegebenen Position zurueck.
 char charAtLower(int pos)
          Gibt das Zeichen, als Kleinbuchstaben, an der angegebenen Position zurueck.
 boolean equals(Object o)
          Prueft ob das uebergebene Objekt diesem Objekt entspricht.
 boolean forwardIfCurrent(char c)
          Stellt den Zeiger eins nach vorn, wenn das aktuelle Zeichen das selbe ist wie das Eingegebene, gibt zurueck ob es das selbe Zeichen war oder nicht.
 boolean forwardIfCurrent(char first, char second)
          Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die Laenge der �bereinstimmung nach vorne gestellt.
 boolean forwardIfCurrent(short before, String val, short after)
          Gibt zurueck ob ein Wert folgt und vor und hinterher Leerzeichen folgen.
 boolean forwardIfCurrent(String str)
          Gibt zurueck ob das aktuelle und die folgenden Zeichen die selben sind, wie in der angegebenen Zeichenkette, wenn ja wird der Zeiger um die Laenge des String nach vorne gesetzt.
 boolean forwardIfCurrent(String str, boolean startWithSpace)
           
 boolean forwardIfCurrent(String first, char second)
          Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die Laenge der �bereinstimmung nach vorne gestellt.
 boolean forwardIfCurrent(String first, String second)
          Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die Laenge der �bereinstimmung nach vorne gestellt.
 boolean forwardIfCurrent(String first, String second, String third)
           
 boolean forwardIfCurrent(String first, String second, String third, boolean startWithSpace)
           
 boolean forwardIfCurrent(String first, String second, String third, String forth)
           
 boolean forwardIfCurrentAndNoWordAfter(String str)
          Gibt zurueck ob das aktuelle und die folgenden Zeichen die selben sind gefolgt nicht von einem word character, wenn ja wird der Zeiger um die Laenge des String nach vorne gesetzt.
 boolean forwardIfCurrentAndNoWordNumberAfter(String str)
           
 boolean forwardIfCurrentWhiteSpace()
           
 char getCurrent()
          Gibt das Zeichen (Character) an der aktuellen Position des Zeigers aus.
 char getCurrentLower()
          Gibt das Zeichen, als Kleinbuchstaben, an der aktuellen Position des Zeigers aus.
 char getCurrentUpper()
          Gibt das Zeichen, als Grossbuchstaben, an der aktuellen Position des Zeigers aus.
 char getNext()
          Gibt das Zeichen (Character) an der naechsten Position des Zeigers aus.
 char getNextLower()
          Gibt das Zeichen, als Kleinbuchstaben, an der naechsten Position des Zeigers aus.
 int getPos()
          Gibt die aktuelle Position des Zeigers innerhalb des CFMLString zurueck.
 boolean hasNext()
          Gibt zurueck ob, ausgehend von der aktuellen Position des internen Zeigers im Text, noch ein Zeichen vorangestellt ist.
 boolean hasNextNext()
           
 boolean hasPrevious()
           
 boolean hasPreviousPrevious()
           
 boolean hasSpaceBefore()
          Gibt zurueck ob sich vor dem aktuellen Zeichen Leerzeichen befinden.
 int indexOfNext(char c)
          Gibt zurueck, ausgehend von der aktuellen Position, wann das naechste Zeichen folgt das gleich ist wie die Eingabe, falls keines folgt wird �1 zurueck gegeben.
 boolean isAfterLast()
          Gibt zurueck ob der Zeiger nach dem letzten Zeichen steht.
 boolean isCurrent(char c)
          Gibt zurueck ob das aktuelle Zeichen das selbe ist wie das Eingegebene.
 boolean isCurrent(char first, char second)
          Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.
 boolean isCurrent(String str)
          Gibt zurueck ob das aktuelle und die folgenden Zeichen die selben sind, wie in der angegebenen Zeichenkette.
 boolean isCurrent(String first, char second)
          Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.
 boolean isCurrent(String first, String second)
          Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.
 boolean isCurrentBetween(char left, char right)
          Gibt zurueck ob das aktuelle Zeichen zwischen den Angegebenen liegt.
 boolean isCurrentDigit()
          Gibt zurueck ob das aktuelle Zeichen eine Zahl ist.
 boolean isCurrentIgnoreSpace(char c)
          Gibt zurueck ob das naechste Zeichen das selbe ist wie das Eingegebene.
 boolean isCurrentIgnoreSpace(String str)
          Gibt zurueck ob das naechste Zeichen das selbe ist wie das Eingegebene.
 boolean isCurrentLetter()
          Gibt zurueck ob das aktuelle Zeichen ein Buchstabe ist.
 boolean isCurrentNumber()
           
 boolean isCurrentQuoter()
          Gibt zurueck ob das aktuelle Zeichen eine Zahl ist.
 boolean isCurrentSpecial()
          Gibt zurueck ob das aktuelle Zeichen ein Special Buchstabe ist (_,�,$,�).
 boolean isCurrentWhiteSpace()
           
 boolean isLast()
          Gibt zurueck ob der Zeiger auf dem letzten Zeichen steht.
 boolean isLast(char c)
           
 boolean isNext(char c)
          Gibt zurueck ob das naechste Zeichen das selbe ist wie das Eingegebene.
 boolean isNextNextWhiteSpace()
           
 boolean isNextWhiteSpace()
           
 boolean isPrevious(char c)
           
 boolean isPreviousPreviousWhiteSpace()
           
 boolean isPreviousWhiteSpace()
           
 boolean isValidIndex()
          Gibt zurueck ob der Zeiger einen korrekten Index hat.
 String lastWord()
          Gibt das letzte Wort das sich vor dem aktuellen Zeigerstand befindet zurueck, falls keines existiert wird null zurueck gegeben.
 int length()
          Gibt die Laenge des CFMLString zurueck.
 void next()
          Stellt den internen Zeiger auf die naechste Position.
 boolean nextLine()
          Stellt den internen Zeiger an den Anfang der naechsten Zeile, gibt zurueck ob eine weitere Zeile existiert oder ob es bereits die letzte Zeile war.
 void previous()
          Stellt den internen Zeiger auf die vorhergehnde Position.
 boolean removeSpace()
          Stellt den Zeiger nach vorne, wenn er sich innerhalb von Leerzeichen befindet, bis die Leerzeichen fertig sind.
 void setPos(int pos)
          Setzt die Position des Zeigers innerhalb des CFMLString, ein ungueltiger index wird ignoriert.
 ParserString subCFMLString(int start)
          Gibt eine Untermenge des CFMLString als CFMLString zurueck, ausgehend von start bis zum Ende des CFMLString.
 ParserString subCFMLString(int start, int count)
          Gibt eine Untermenge des CFMLString als CFMLString zurueck, ausgehend von start mit einer maximalen Laenge count.
 String substring(int start)
          Gibt eine Untermenge des CFMLString als Zeichenkette zurueck, ausgehend von start bis zum Ende des CFMLString.
 String substring(int start, int count)
          Gibt eine Untermenge des CFMLString als Zeichenkette zurueck, ausgehend von start mit einer maximalen Laenge count.
 String substringLower(int start)
          Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zurueck, ausgehend von start bis zum Ende des CFMLString.
 String substringLower(int start, int count)
          Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zurueck, ausgehend von start mit einer maximalen Laenge count.
 String toString()
           
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

AT_LEAST_ONE_SPACE

public static final short AT_LEAST_ONE_SPACE
Mindestens einen Space

See Also:
Constant Field Values

ZERO_OR_MORE_SPACE

public static final short ZERO_OR_MORE_SPACE
Mindestens ein Space

See Also:
Constant Field Values
Constructor Detail

ParserString

public ParserString(String text)
Diesen Konstruktor kann er CFML Code als Zeichenkette uebergeben werden.

Parameters:
text - CFML Code
Method Detail

hasNext

public boolean hasNext()
Gibt zurueck ob, ausgehend von der aktuellen Position des internen Zeigers im Text, noch ein Zeichen vorangestellt ist.

Returns:
boolean Existiert ein weieters Zeichen nach dem Zeiger.

hasNextNext

public boolean hasNextNext()

hasPrevious

public boolean hasPrevious()

hasPreviousPrevious

public boolean hasPreviousPrevious()

next

public void next()
Stellt den internen Zeiger auf die naechste Position. �berlappungen ausserhalb des Index des Textes werden ignoriert.


previous

public void previous()
Stellt den internen Zeiger auf die vorhergehnde Position. �berlappungen ausserhalb des Index des Textes werden ignoriert.


getCurrent

public char getCurrent()
Gibt das Zeichen (Character) an der aktuellen Position des Zeigers aus.

Returns:
char Das Zeichen auf dem der Zeiger steht.

getNext

public char getNext()
Gibt das Zeichen (Character) an der naechsten Position des Zeigers aus.

Returns:
char Das Zeichen auf dem der Zeiger steht plus 1.

getCurrentLower

public char getCurrentLower()
Gibt das Zeichen, als Kleinbuchstaben, an der aktuellen Position des Zeigers aus.

Returns:
char Das Zeichen auf dem der Zeiger steht als Kleinbuchstaben.

getCurrentUpper

public char getCurrentUpper()
Gibt das Zeichen, als Grossbuchstaben, an der aktuellen Position des Zeigers aus.

Returns:
char Das Zeichen auf dem der Zeiger steht als Grossbuchstaben.

getNextLower

public char getNextLower()
Gibt das Zeichen, als Kleinbuchstaben, an der naechsten Position des Zeigers aus.

Returns:
char Das Zeichen auf dem der Zeiger steht plus 1 als Kleinbuchstaben.

charAt

public char charAt(int pos)
Gibt das Zeichen an der angegebenen Position zurueck.

Parameters:
pos - Position des auszugebenen Zeichen.
Returns:
char Das Zeichen an der angegebenen Position.

charAtLower

public char charAtLower(int pos)
Gibt das Zeichen, als Kleinbuchstaben, an der angegebenen Position zurueck.

Parameters:
pos - Position des auszugebenen Zeichen.
Returns:
char Das Zeichen an der angegebenen Position als Kleinbuchstaben.

isNext

public boolean isNext(char c)
Gibt zurueck ob das naechste Zeichen das selbe ist wie das Eingegebene.

Parameters:
c - Zeichen zum Vergleich.
Returns:
boolean

isPrevious

public boolean isPrevious(char c)

isCurrentIgnoreSpace

public boolean isCurrentIgnoreSpace(char c)
Gibt zurueck ob das naechste Zeichen das selbe ist wie das Eingegebene.

Parameters:
c - Zeichen zum Vergleich.
Returns:
boolean

isCurrentIgnoreSpace

public boolean isCurrentIgnoreSpace(String str)
Gibt zurueck ob das naechste Zeichen das selbe ist wie das Eingegebene.

Parameters:
c - Zeichen zum Vergleich.
Returns:
boolean

isCurrentBetween

public boolean isCurrentBetween(char left,
                                char right)
Gibt zurueck ob das aktuelle Zeichen zwischen den Angegebenen liegt.

Parameters:
left - Linker (unterer) Wert.
right - Rechter (oberer) Wert.
Returns:
Gibt zurueck ob das aktuelle Zeichen zwischen den Angegebenen liegt.

isCurrentDigit

public boolean isCurrentDigit()
Gibt zurueck ob das aktuelle Zeichen eine Zahl ist.

Returns:
Gibt zurueck ob das aktuelle Zeichen eine Zahl ist.

isCurrentQuoter

public boolean isCurrentQuoter()
Gibt zurueck ob das aktuelle Zeichen eine Zahl ist.

Returns:
Gibt zurueck ob das aktuelle Zeichen eine Zahl ist.

isCurrentLetter

public boolean isCurrentLetter()
Gibt zurueck ob das aktuelle Zeichen ein Buchstabe ist.

Returns:
Gibt zurueck ob das aktuelle Zeichen ein Buchstabe ist.

isCurrentNumber

public boolean isCurrentNumber()

isCurrentWhiteSpace

public boolean isCurrentWhiteSpace()

forwardIfCurrentWhiteSpace

public boolean forwardIfCurrentWhiteSpace()

isNextWhiteSpace

public boolean isNextWhiteSpace()

isNextNextWhiteSpace

public boolean isNextNextWhiteSpace()

isPreviousWhiteSpace

public boolean isPreviousWhiteSpace()

isPreviousPreviousWhiteSpace

public boolean isPreviousPreviousWhiteSpace()

isCurrentSpecial

public boolean isCurrentSpecial()
Gibt zurueck ob das aktuelle Zeichen ein Special Buchstabe ist (_,�,$,�).

Returns:
Gibt zurueck ob das aktuelle Zeichen ein Buchstabe ist.

isCurrent

public boolean isCurrent(char c)
Gibt zurueck ob das aktuelle Zeichen das selbe ist wie das Eingegebene.

Parameters:
c - char Zeichen zum Vergleich.
Returns:
boolean

isLast

public boolean isLast(char c)

forwardIfCurrent

public boolean forwardIfCurrent(char c)
Stellt den Zeiger eins nach vorn, wenn das aktuelle Zeichen das selbe ist wie das Eingegebene, gibt zurueck ob es das selbe Zeichen war oder nicht.

Parameters:
c - char Zeichen zum Vergleich.
Returns:
boolean

isCurrent

public boolean isCurrent(String str)
Gibt zurueck ob das aktuelle und die folgenden Zeichen die selben sind, wie in der angegebenen Zeichenkette.

Parameters:
str - String Zeichen zum Vergleich.
Returns:
boolean

forwardIfCurrent

public boolean forwardIfCurrent(String str)
Gibt zurueck ob das aktuelle und die folgenden Zeichen die selben sind, wie in der angegebenen Zeichenkette, wenn ja wird der Zeiger um die Laenge des String nach vorne gesetzt.

Parameters:
str - String Zeichen zum Vergleich.
Returns:
boolean

forwardIfCurrent

public boolean forwardIfCurrent(String str,
                                boolean startWithSpace)

forwardIfCurrent

public boolean forwardIfCurrent(String first,
                                String second,
                                String third,
                                boolean startWithSpace)

forwardIfCurrentAndNoWordAfter

public boolean forwardIfCurrentAndNoWordAfter(String str)
Gibt zurueck ob das aktuelle und die folgenden Zeichen die selben sind gefolgt nicht von einem word character, wenn ja wird der Zeiger um die Laenge des String nach vorne gesetzt.

Parameters:
str - String Zeichen zum Vergleich.
Returns:
boolean

forwardIfCurrentAndNoWordNumberAfter

public boolean forwardIfCurrentAndNoWordNumberAfter(String str)

isCurrent

public boolean isCurrent(String first,
                         char second)
Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zurueck ob die eingegebenen Werte dem Inhalt beim aktuellen Stand des Zeigers entsprechen.

isCurrent

public boolean isCurrent(char first,
                         char second)
Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.

Parameters:
first - Erstes Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweites Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zurueck ob die eingegebenen Werte dem Inhalt beim aktuellen Stand des Zeigers entsprechen.

forwardIfCurrent

public boolean forwardIfCurrent(String first,
                                char second)
Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die Laenge der �bereinstimmung nach vorne gestellt.

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zurueck ob der Zeiger vorwaerts geschoben wurde oder nicht.

forwardIfCurrent

public boolean forwardIfCurrent(short before,
                                String val,
                                short after)
Gibt zurueck ob ein Wert folgt und vor und hinterher Leerzeichen folgen.

Parameters:
before - Definition der Leerzeichen vorher.
val - Gefolgter Wert der erartet wird.
after - Definition der Leerzeichen nach dem Wert.
Returns:
Gibt zurueck ob der Zeiger vorwaerts geschoben wurde oder nicht.

forwardIfCurrent

public boolean forwardIfCurrent(char first,
                                char second)
Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die Laenge der �bereinstimmung nach vorne gestellt.

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zurueck ob der Zeiger vorwaerts geschoben wurde oder nicht.

isCurrent

public boolean isCurrent(String first,
                         String second)
Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zurueck ob die eingegebenen Werte dem Inhalt beim aktuellen Stand des Zeigers entsprechen.

forwardIfCurrent

public boolean forwardIfCurrent(String first,
                                String second)
Gibt zurueck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die Laenge der �bereinstimmung nach vorne gestellt.

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zurueck ob der Zeiger vorwaerts geschoben wurde oder nicht.

forwardIfCurrent

public boolean forwardIfCurrent(String first,
                                String second,
                                String third)

forwardIfCurrent

public boolean forwardIfCurrent(String first,
                                String second,
                                String third,
                                String forth)

hasSpaceBefore

public boolean hasSpaceBefore()
Gibt zurueck ob sich vor dem aktuellen Zeichen Leerzeichen befinden.

Returns:
Gibt zurueck ob sich vor dem aktuellen Zeichen Leerzeichen befinden.

removeSpace

public boolean removeSpace()
Stellt den Zeiger nach vorne, wenn er sich innerhalb von Leerzeichen befindet, bis die Leerzeichen fertig sind.

Returns:
Gibt zurueck ob der Zeiger innerhalb von Leerzeichen war oder nicht.

nextLine

public boolean nextLine()
Stellt den internen Zeiger an den Anfang der naechsten Zeile, gibt zurueck ob eine weitere Zeile existiert oder ob es bereits die letzte Zeile war.

Returns:
Existiert eine weitere Zeile.

substring

public String substring(int start)
Gibt eine Untermenge des CFMLString als Zeichenkette zurueck, ausgehend von start bis zum Ende des CFMLString.

Parameters:
start - Von wo aus die Untermege ausgegeben werden soll.
Returns:
Untermenge als Zeichenkette

substring

public String substring(int start,
                        int count)
Gibt eine Untermenge des CFMLString als Zeichenkette zurueck, ausgehend von start mit einer maximalen Laenge count.

Parameters:
start - Von wo aus die Untermenge ausgegeben werden soll.
count - Wie lange die zurueckgegebene Zeichenkette maximal sein darf.
Returns:
Untermenge als Zeichenkette.

substringLower

public String substringLower(int start)
Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zurueck, ausgehend von start bis zum Ende des CFMLString.

Parameters:
start - Von wo aus die Untermenge ausgegeben werden soll.
Returns:
Untermenge als Zeichenkette in Kleinbuchstaben.

substringLower

public String substringLower(int start,
                             int count)
Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zurueck, ausgehend von start mit einer maximalen Laenge count.

Parameters:
start - Von wo aus die Untermenge ausgegeben werden soll.
count - Wie lange die zurueckgegebene Zeichenkette maximal sein darf.
Returns:
Untermenge als Zeichenkette in Kleinbuchstaben.

subCFMLString

public ParserString subCFMLString(int start)
Gibt eine Untermenge des CFMLString als CFMLString zurueck, ausgehend von start bis zum Ende des CFMLString.

Parameters:
start - Von wo aus die Untermenge ausgegeben werden soll.
Returns:
Untermenge als CFMLString

subCFMLString

public ParserString subCFMLString(int start,
                                  int count)
Gibt eine Untermenge des CFMLString als CFMLString zurueck, ausgehend von start mit einer maximalen Laenge count.

Parameters:
start - Von wo aus die Untermenge ausgegeben werden soll.
count - Wie lange die zurueckgegebene Zeichenkette maximal sein darf.
Returns:
Untermenge als CFMLString

toString

public String toString()
Overrides:
toString in class Object

getPos

public int getPos()
Gibt die aktuelle Position des Zeigers innerhalb des CFMLString zurueck.

Returns:
Position des Zeigers

setPos

public void setPos(int pos)
Setzt die Position des Zeigers innerhalb des CFMLString, ein ungueltiger index wird ignoriert.

Parameters:
pos - Position an die der Zeiger gestellt werde soll.

isLast

public boolean isLast()
Gibt zurueck ob der Zeiger auf dem letzten Zeichen steht.

Returns:
Gibt zurueck ob der Zeiger auf dem letzten Zeichen steht.

isAfterLast

public boolean isAfterLast()
Gibt zurueck ob der Zeiger nach dem letzten Zeichen steht.

Returns:
Gibt zurueck ob der Zeiger nach dem letzten Zeichen steht.

isValidIndex

public boolean isValidIndex()
Gibt zurueck ob der Zeiger einen korrekten Index hat.

Returns:
Gibt zurueck ob der Zeiger einen korrekten Index hat.

indexOfNext

public int indexOfNext(char c)
Gibt zurueck, ausgehend von der aktuellen Position, wann das naechste Zeichen folgt das gleich ist wie die Eingabe, falls keines folgt wird �1 zurueck gegeben. Gross- und Kleinschreibung der Zeichen werden igoriert.

Parameters:
c - gesuchtes Zeichen
Returns:
Zeichen das gesucht werden soll.

lastWord

public String lastWord()
Gibt das letzte Wort das sich vor dem aktuellen Zeigerstand befindet zurueck, falls keines existiert wird null zurueck gegeben.

Returns:
Word vor dem aktuellen Zeigerstand.

length

public int length()
Gibt die Laenge des CFMLString zurueck.

Returns:
Laenge des CFMLString.

equals

public boolean equals(Object o)
Prueft ob das uebergebene Objekt diesem Objekt entspricht.

Overrides:
equals in class Object
Parameters:
o - Object zum vergleichen.
Returns:
Ist das uebergebene Objekt das selbe wie dieses.


Copyright © 2012 Railo