railo.transformer.util
Class CFMLString

java.lang.Object
  extended by railo.transformer.util.CFMLString

public final class CFMLString
extends Object

this class is a Parser String optimized for the transfomer (CFML Parser)


Field Summary
static short AT_LEAST_ONE_SPACE
          Mindestens einen Space
static short ZERO_OR_MORE_SPACE
          Mindestens ein Space
 
Constructor Summary
CFMLString(SourceFile sf, String charset, boolean writeLog)
           
CFMLString(String text, String charset)
          Constructor of the class
CFMLString(String text, String charset, boolean writeLog, SourceFile sf)
          Constructor of the class in this case source file is just for information
 
Method Summary
 char charAt(int pos)
          returns the character at the given position
 char charAtLower(int pos)
          returns the character at the given position as lower case representation
 boolean equals(Object o)
          Pr�ft ob das �bergebene Objekt diesem Objekt entspricht.
 boolean forwardIfCurrent(char c)
          forward the internal pointer plus one if the next character is the same as the given input
 boolean forwardIfCurrent(char first, char second)
          Gibt zur�ck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die L�nge der �bereinstimmung nach vorne gestellt.
 boolean forwardIfCurrent(short before, String val, short after)
          Gibt zur�ck ob ein Wert folgt und vor und hinterher Leerzeichen folgen.
 boolean forwardIfCurrent(String str)
          forwards if the current character (internal pointer) and the following are the same as the given input
 boolean forwardIfCurrent(String str, boolean startWithSpace)
           
 boolean forwardIfCurrent(String str, boolean startWithSpace, boolean followedByNoVariableCharacter)
           
 boolean forwardIfCurrent(String first, char second)
          Gibt zur�ck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die L�nge der �bereinstimmung nach vorne gestellt.
 boolean forwardIfCurrent(String first, String second)
          Gibt zur�ck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second, wenn ja wird der Zeiger um die L�nge der �bereinstimmung nach vorne gestellt.
 boolean forwardIfCurrent(String first, String second, boolean startWithSpace, boolean followedByNoVariableCharacter)
           
 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, boolean startWithSpace, boolean followedByNoVariableCharacter)
           
 boolean forwardIfCurrent(String first, String second, String third, String forth)
           
 boolean forwardIfCurrentAndNoVarExt(String str)
          forwards if the current character (internal pointer) and the following are the same as the given input, followed by a none word character or a number
 boolean forwardIfCurrentAndNoWordAfter(String str)
          forwards if the current character (internal pointer) and the following are the same as the given input, followed by a none word character
 String getCharset()
           
 int getColumn()
          Gibt die Stelle in der aktuelle Zeile zur�ck, in welcher der Zeiger steht.
 int getColumn(int pos)
          Gibt die Stelle in der Zeile auf die pos zeigt zur�ck.
 char getCurrent()
          returns the character of the current position of the internal pointer
 char getCurrentLower()
          returns the lower case representation of the character of the current position
 int getLine()
          Gibt die aktuelle Zeile zur�ck in der der Zeiger des CFMLString steht.
 int getLine(int pos)
          Gibt zur�ck in welcher Zeile die angegebene Position ist.
 String getLineAsString()
          Gibt die Zeile auf welcher der Zeiger steht als String zur�ck.
 String getLineAsString(int line)
          Gibt die angegebene Zeile als String zur�ck.
 int getPos()
          Gibt die aktuelle Position des Zeigers innerhalb des CFMLString zur�ck.
 String getSource()
           
 SourceFile getSourceFile()
          Gibt die Quelle aus dem der CFML Code stammt als File Objekt zur�ck, falls dies nicht aud einem File stammt wird null zur�ck gegeben.
 String getText()
           
 boolean getWriteLog()
           
 boolean hasNext()
          returns if the internal pointer is not on the last positions
 boolean hasNLBefore()
           
 boolean hasSpaceBefore()
          Gibt zur�ck ob sich vor dem aktuellen Zeichen Leerzeichen befinden.
 int indexOfNext(char c)
          Gibt zur�ck, ausgehend von der aktuellen Position, wann das n�chste Zeichen folgt das gleich ist wie die Eingabe, falls keines folgt wird �1 zur�ck gegeben.
 boolean isAfterLast()
          Gibt zur�ck ob der Zeiger nach dem letzten Zeichen steht.
 boolean isCurrent(char c)
          is the current character (internal pointer) the same as the given
 boolean isCurrent(char first, char second)
          Gibt zur�ck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.
 boolean isCurrent(String str)
          returns if the current character (internal pointer) and the following are the same as the given input
 boolean isCurrent(String first, char second)
          Gibt zur�ck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.
 boolean isCurrent(String first, String second)
          Gibt zur�ck ob first den folgenden Zeichen entspricht, gefolgt von Leerzeichen und second.
 boolean isCurrentBetween(char left, char right)
          is the character at the current position (internal pointer) in the range of the given input characters?
 boolean isCurrentLetter()
          returns if the current character is a letter (a-z,A-Z)
 boolean isCurrentNumber()
          returns if the current character is a number (0-9)
 boolean isCurrentSpecial()
          retuns if the current character (internal pointer) is a valid special sign (_, $, Pound Symbol, Euro Symbol)
 boolean isCurrentVariableCharacter()
          returns if the character at the current position (internal pointer) is a valid variable character
 boolean isLast()
          Gibt zur�ck ob der Zeiger auf dem letzten Zeichen steht.
 boolean isNext(char c)
          is the character at the next position the same as the character provided by the input parameter
 boolean isValidIndex()
          Gibt zur�ck ob der Zeiger einen korrekten Index hat.
 String lastWord()
          Gibt das letzte Wort das sich vor dem aktuellen Zeigerstand befindet zur�ck, falls keines existiert wird null zur�ck gegeben.
 int length()
          Gibt die L�nge des CFMLString zur�ck.
 void next()
          moves the internal pointer to the next position, no check if the next position is still valid
 boolean nextLine()
          Stellt den internen Zeiger an den Anfang der n�chsten Zeile, gibt zur�ck ob eine weitere Zeile existiert oder ob es bereits die letzte Zeile war.
 void previous()
          moves the internal pointer to the previous position, no check if the next position is still valid
 String removeAndGetSpace()
           
 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 ung�ltiger index wird ignoriert.
 CFMLString subCFMLString(int start)
          Gibt eine Untermenge des CFMLString als CFMLString zur�ck, ausgehend von start bis zum Ende des CFMLString.
 CFMLString subCFMLString(int start, int count)
          Gibt eine Untermenge des CFMLString als CFMLString zur�ck, ausgehend von start mit einer maximalen L�nge count.
 String substring(int start)
          Gibt eine Untermenge des CFMLString als Zeichenkette zur�ck, ausgehend von start bis zum Ende des CFMLString.
 String substring(int start, int count)
          Gibt eine Untermenge des CFMLString als Zeichenkette zur�ck, ausgehend von start mit einer maximalen L�nge count.
 String substringLower(int start)
          Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zur�ck, ausgehend von start bis zum Ende des CFMLString.
 String substringLower(int start, int count)
          Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zur�ck, ausgehend von start mit einer maximalen L�nge count.
 String toString()
          Gibt den CFMLString als String zur�ck.
 
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

CFMLString

public CFMLString(SourceFile sf,
                  String charset,
                  boolean writeLog)
           throws IOException
Throws:
IOException

CFMLString

public CFMLString(String text,
                  String charset,
                  boolean writeLog,
                  SourceFile sf)
Constructor of the class in this case source file is just for information

Parameters:
text -
charset -
writeLog -
sf -

CFMLString

public CFMLString(String text,
                  String charset)
Constructor of the class

Parameters:
text -
charset -
Method Detail

hasNext

public boolean hasNext()
returns if the internal pointer is not on the last positions


next

public void next()
moves the internal pointer to the next position, no check if the next position is still valid


previous

public void previous()
moves the internal pointer to the previous position, no check if the next position is still valid


getCurrent

public char getCurrent()
returns the character of the current position of the internal pointer


getCurrentLower

public char getCurrentLower()
returns the lower case representation of the character of the current position


charAt

public char charAt(int pos)
returns the character at the given position


charAtLower

public char charAtLower(int pos)
returns the character at the given position as lower case representation


isNext

public boolean isNext(char c)
is the character at the next position the same as the character provided by the input parameter


isCurrentBetween

public boolean isCurrentBetween(char left,
                                char right)
is the character at the current position (internal pointer) in the range of the given input characters?

Parameters:
left - lower value.
right - upper value.

isCurrentVariableCharacter

public boolean isCurrentVariableCharacter()
returns if the character at the current position (internal pointer) is a valid variable character


isCurrentLetter

public boolean isCurrentLetter()
returns if the current character is a letter (a-z,A-Z)

Returns:
is a letter

isCurrentNumber

public boolean isCurrentNumber()
returns if the current character is a number (0-9)

Returns:
is a letter

isCurrentSpecial

public boolean isCurrentSpecial()
retuns if the current character (internal pointer) is a valid special sign (_, $, Pound Symbol, Euro Symbol)


isCurrent

public boolean isCurrent(char c)
is the current character (internal pointer) the same as the given


forwardIfCurrent

public boolean forwardIfCurrent(char c)
forward the internal pointer plus one if the next character is the same as the given input


isCurrent

public boolean isCurrent(String str)
returns if the current character (internal pointer) and the following are the same as the given input


forwardIfCurrent

public boolean forwardIfCurrent(String str)
forwards if the current character (internal pointer) and the following are the same as the given input


forwardIfCurrent

public boolean forwardIfCurrent(String str,
                                boolean startWithSpace)
Parameters:
str - string to check against current position
startWithSpace - if true there must be whitespace at the current position
Returns:
does the criteria match?

forwardIfCurrent

public boolean forwardIfCurrent(String str,
                                boolean startWithSpace,
                                boolean followedByNoVariableCharacter)
Parameters:
str - string to check against current position
startWithSpace - if true there must be whitespace at the current position
followedByNoVariableCharacter - the character following the string must be a none variable character (!a-z,A-Z,0-9,_$) (not eaten)
Returns:
does the criteria match?

forwardIfCurrentAndNoWordAfter

public boolean forwardIfCurrentAndNoWordAfter(String str)
forwards if the current character (internal pointer) and the following are the same as the given input, followed by a none word character


forwardIfCurrentAndNoVarExt

public boolean forwardIfCurrentAndNoVarExt(String str)
forwards if the current character (internal pointer) and the following are the same as the given input, followed by a none word character or a number


isCurrent

public boolean isCurrent(String first,
                         char second)
Gibt zur�ck 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 zur�ck ob die eingegebenen Werte dem Inhalt beim aktuellen Stand des Zeigers entsprechen.

isCurrent

public boolean isCurrent(char first,
                         char second)
Gibt zur�ck 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 zur�ck ob die eingegebenen Werte dem Inhalt beim aktuellen Stand des Zeigers entsprechen.

forwardIfCurrent

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

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zur�ck ob der Zeiger vorw�rts geschoben wurde oder nicht.

forwardIfCurrent

public boolean forwardIfCurrent(short before,
                                String val,
                                short after)
Gibt zur�ck 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 zur�ck ob der Zeiger vorw�rts geschoben wurde oder nicht.

forwardIfCurrent

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

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zur�ck ob der Zeiger vorw�rts geschoben wurde oder nicht.

isCurrent

public boolean isCurrent(String first,
                         String second)
Gibt zur�ck 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 zur�ck ob die eingegebenen Werte dem Inhalt beim aktuellen Stand des Zeigers entsprechen.

forwardIfCurrent

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

Parameters:
first - Erste Zeichen zum Vergleich (Vor den Leerzeichen).
second - Zweite Zeichen zum Vergleich (Nach den Leerzeichen).
Returns:
Gibt zur�ck ob der Zeiger vorw�rts geschoben wurde oder nicht.

forwardIfCurrent

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

forwardIfCurrent

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

forwardIfCurrent

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

forwardIfCurrent

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

forwardIfCurrent

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

hasSpaceBefore

public boolean hasSpaceBefore()
Gibt zur�ck ob sich vor dem aktuellen Zeichen Leerzeichen befinden.

Returns:
Gibt zur�ck ob sich vor dem aktuellen Zeichen Leerzeichen befinden.

hasNLBefore

public boolean hasNLBefore()

removeSpace

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

Returns:
Gibt zur�ck ob der Zeiger innerhalb von Leerzeichen war oder nicht.

removeAndGetSpace

public String removeAndGetSpace()

nextLine

public boolean nextLine()
Stellt den internen Zeiger an den Anfang der n�chsten Zeile, gibt zur�ck 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 zur�ck, 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 zur�ck, ausgehend von start mit einer maximalen L�nge count.

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

substringLower

public String substringLower(int start)
Gibt eine Untermenge des CFMLString als Zeichenkette in Kleinbuchstaben zur�ck, 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 zur�ck, ausgehend von start mit einer maximalen L�nge count.

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

subCFMLString

public CFMLString subCFMLString(int start)
Gibt eine Untermenge des CFMLString als CFMLString zur�ck, ausgehend von start bis zum Ende des CFMLString.

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

subCFMLString

public CFMLString subCFMLString(int start,
                                int count)
Gibt eine Untermenge des CFMLString als CFMLString zur�ck, ausgehend von start mit einer maximalen L�nge count.

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

toString

public String toString()
Gibt den CFMLString als String zur�ck.

Overrides:
toString in class Object
See Also:
Object.toString()

getPos

public int getPos()
Gibt die aktuelle Position des Zeigers innerhalb des CFMLString zur�ck.

Returns:
Position des Zeigers

setPos

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

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

getLine

public int getLine()
Gibt die aktuelle Zeile zur�ck in der der Zeiger des CFMLString steht.

Returns:
Zeilennummer

getLine

public int getLine(int pos)
Gibt zur�ck in welcher Zeile die angegebene Position ist.

Parameters:
pos - Position von welcher die Zeile erfragt wird
Returns:
Zeilennummer

getColumn

public int getColumn()
Gibt die Stelle in der aktuelle Zeile zur�ck, in welcher der Zeiger steht.

Returns:
Position innerhalb der Zeile.

getColumn

public int getColumn(int pos)
Gibt die Stelle in der Zeile auf die pos zeigt zur�ck.

Parameters:
pos - Position von welcher die Zeile erfragt wird
Returns:
Position innerhalb der Zeile.

getLineAsString

public String getLineAsString()
Gibt die Zeile auf welcher der Zeiger steht als String zur�ck.

Returns:
Zeile als Zeichenkette

getLineAsString

public String getLineAsString(int line)
Gibt die angegebene Zeile als String zur�ck.

Parameters:
line - Zeile die zur�ck gegeben werden soll
Returns:
Zeile als Zeichenkette

isLast

public boolean isLast()
Gibt zur�ck ob der Zeiger auf dem letzten Zeichen steht.

Returns:
Gibt zur�ck ob der Zeiger auf dem letzten Zeichen steht.

isAfterLast

public boolean isAfterLast()
Gibt zur�ck ob der Zeiger nach dem letzten Zeichen steht.

Returns:
Gibt zur�ck ob der Zeiger nach dem letzten Zeichen steht.

isValidIndex

public boolean isValidIndex()
Gibt zur�ck ob der Zeiger einen korrekten Index hat.

Returns:
Gibt zur�ck ob der Zeiger einen korrekten Index hat.

indexOfNext

public int indexOfNext(char c)
Gibt zur�ck, ausgehend von der aktuellen Position, wann das n�chste Zeichen folgt das gleich ist wie die Eingabe, falls keines folgt wird �1 zur�ck 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 zur�ck, falls keines existiert wird null zur�ck gegeben.

Returns:
Word vor dem aktuellen Zeigerstand.

length

public int length()
Gibt die L�nge des CFMLString zur�ck.

Returns:
L�nge des CFMLString.

getSourceFile

public SourceFile getSourceFile()
Gibt die Quelle aus dem der CFML Code stammt als File Objekt zur�ck, falls dies nicht aud einem File stammt wird null zur�ck gegeben.

Returns:
source Quelle des CFML Code.

equals

public boolean equals(Object o)
Pr�ft ob das �bergebene Objekt diesem Objekt entspricht.

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

getCharset

public String getCharset()

getWriteLog

public boolean getWriteLog()

getText

public String getText()

getSource

public String getSource()
Returns:
the source


Copyright © 2012 Railo