schmitzm.geotools.feature
Class FeatureOperationTreeParser

java.lang.Object
  extended by schmitzm.lang.tree.OperationTreeParser
      extended by schmitzm.geotools.feature.FeatureOperationTreeParser
All Implemented Interfaces:
FilterParser, ParserOperatorsHints

public class FeatureOperationTreeParser
extends OperationTreeParser
implements FilterParser

Diese Klasse stellt einen Parser fuer einen SimpleFeature-Operatorbaum dar. Dieser erstellt einen SimpleFeature-Operatorbaum aus einem Formel-String, der neben den in OperationTreeParser beschriebenen Komponenten Attribut-Referenzen enthalten darf.

Referenz auf Attribut-Name: FeatureOperationTree.AttributeNameReferenceNode
Die Referenz auf einen Attribut-Namen wird durch einen String-Wert dargestellt, der von einem $ eingeleitet wird (z.B. $citizens).

Referenz auf Attribut-Index: FeatureOperationTree.AttributeIndexReferenceNode
Die Referenz auf einen Attribut-Index (beginnend bei 0) wird durch einen int-Wert dargestellt, der von einem # eingeleitet wird (z.B. #7).

Bei der Auswertung des Operatorbaums wird die Referenz durch den entsprechenden Attribut-Wert des Features ersetzt.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
 
Fields inherited from class schmitzm.lang.tree.OperationTreeParser
avOperators, avOperatorsKeys, delimiter, openBrackets, tok
 
Constructor Summary
FeatureOperationTreeParser()
           
 
Method Summary
 FeatureOperationTree parse(String rule)
          Erstellt einen SimpleFeature-Operator-Baum aus einem Formel-String.
 Filter parseFilter(String rule)
          Creates a FeatureOperationTreeFilter for the rule string.
protected  BinaryTreeNode parseLiteral()
          Parst das naechste Literal aus dem Tokenizer OperationTreeParser.tok.
 
Methods inherited from class schmitzm.lang.tree.OperationTreeParser
checkCorrespondingBrackets, getAdditionOperatorChars, getBooleanOperatorChars, getClosingBracketChars, getCompareOperatorChars, getConnectingOperatorChars, getConstantFromString, getDoubleFromString, getIntFromString, getMaximumOperatorConnectivity, getMultiplyOperatorChars, getOpeningBracketChars, getOperatorChars, getOperatorConnectivity, getOperatorDescription, getOperatorParameterCount, getOperators, getOperatorTitle, getParameterSeperatorChars, getStringEncapsulationChars, initOperatorKeys, initOperatorList, isAdditionOperator, isBooleanOperator, isClosingBracket, isCompareOperator, isConnectingOperator, isMultiplyOperator, isOpeningBracket, isOperatorChar, isParameterSeperator, isStringEncapsulationChar, nextNonWSToken, parseOperand, parseRule, parseRulePart, pushbackWithWSToken, throwParseError, throwParseError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface schmitzm.swing.ParserOperatorsHints
getOperatorDescription, getOperatorParameterCount, getOperators, getOperatorTitle
 

Constructor Detail

FeatureOperationTreeParser

public FeatureOperationTreeParser()
Method Detail

parse

public FeatureOperationTree parse(String rule)
Erstellt einen SimpleFeature-Operator-Baum aus einem Formel-String.

Overrides:
parse in class OperationTreeParser
Parameters:
rule - Formel

parseLiteral

protected BinaryTreeNode parseLiteral()
Parst das naechste Literal aus dem Tokenizer OperationTreeParser.tok. Erweitert die Funktionalitaet der Oberklasse, so dass neben Konstanten auch Referenznummern und -namen auf ein SimpleFeature-Attribut (eingeleitet durch # und $) angegeben werden koennen.

Overrides:
parseLiteral in class OperationTreeParser

parseFilter

public Filter parseFilter(String rule)
Creates a FeatureOperationTreeFilter for the rule string.

Specified by:
parseFilter in interface FilterParser
Parameters:
rule - a rule string
Returns:
TRUE filter, if rule is null or empty