|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectschmitzm.lang.tree.OperationTreeParser
schmitzm.data.RasterOperationTreeParser
public class RasterOperationTreeParser
Diese Klasse stellt einen Parser fuer einen Raster-Operatorbaum
dar. Dieser erstellt einen Raster-Operatorbaum aus einem
Formel-String, der neben den in OperationTreeParser
beschriebenen
Komponenten Raster- und Filter-Referenzen enthalten darf.
Raster-Referenz: RasterOperationTree.RasterReferenceNode
Eine Raster-Referenz wird durch einen int
-Wert dargestellt, der von
einem #
eingeleitet wird (z.B. #0
). Bei der Auswertung des Operatorbaums
(auf einer bestimmten Raster-Koordinate) wird diese Referenz durch den
entsprechenden Zell-Wert des referenzierten Rasters ersetzt.
Filter-Referenz: RasterOperationTree.FilterReferenceNode
Eine Filter-Referenz wird durch einen int
-Wert dargestellt, der von
einem F
eingeleitet wird (z.B. F1(.)
) Die Auswertung eines Filters kann nur
direkt auf einer Raster-Referenz erfolgen, da ansonsten keine zellen-weise
Abarbeitung des Rasters mehr moeglich ist, sondern komplette Raster als
Zwischenergebnisse ausgewertet werden muessten.
Koordinaten-Referenz: X
oder Y
Stellt einen Alias fuer die X- bzw. Y-Koordinate der Rasterzelle dar, die
verarbeitet wird.
NoData: Konstante NoData
und Funktion isNoData(.)
Stellen einen Alias fuer NaN
, bzw. isNaN(.)
dar.
Field Summary |
---|
Fields inherited from class schmitzm.lang.tree.OperationTreeParser |
---|
avOperators, avOperatorsKeys, delimiter, openBrackets, tok |
Constructor Summary | |
---|---|
RasterOperationTreeParser()
|
Method Summary | |
---|---|
int |
getOperatorParameterCount(String op)
Liefert die Anzahl an geklammerten Parametern, die ein Operator hat. |
protected void |
initOperatorList()
Initialises the list of available operators. |
RasterOperationTree |
parse(String rule)
Erstellt einen Raster-Operator-Baum aus einem Formel-String. |
protected BinaryTreeNode |
parseLiteral()
Parst das naechste Literal aus dem Tokenizer OperationTreeParser.tok . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RasterOperationTreeParser()
Method Detail |
---|
public RasterOperationTree parse(String rule)
parse
in class OperationTreeParser
rule
- Formelprotected BinaryTreeNode parseLiteral()
OperationTreeParser.tok
.
Erweitert die Funktionalitaet der Oberklasse, so dass neben Konstanten
auch Referenznummern auf ein Raster (eingeleitet durch #
) und
Referenznummern auf einen Filter (eingeleitet durch F
)
angegeben werden koennen. Zudem koennen die Konstanten X
und Y
verwendet werden, um die horizontale und vertikale Raster-Koordinate zu
referenzieren und NoData
, bzw. isNoData(.)
als Alias fuer
NaN
, bzw. isNaN
verwendet werden.
parseLiteral
in class OperationTreeParser
protected void initOperatorList()
initOperatorList
in class OperationTreeParser
OperationTreeParser.getOperators()
,
OperationTreeParser.avOperators
public int getOperatorParameterCount(String op)
isNoData(.)
und die Filter-Referenz F.
.
getOperatorParameterCount
in interface ParserOperatorsHints
getOperatorParameterCount
in class OperationTreeParser
op
- Operator
isNoData
und F..
, sonst den Wert der super
-Methode
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |