Filter¶
Alvine.Package.Platform.Filter.buildAndFilter('field1=1 AND field2=true AND field3="text"');
Das Ergebnis diese Aufrufs sind drei Filterobjekte mit den Namen field1
, field2
und field3
und
den Werten 1
, true
und text
. Die Typen der einzelnen Werte sind dabei int
, bool
und string
.
Hinweis
Dieser Parser liefert nur bei UND-Verknüpfungen ein Ergebnis zurück und schmeißt bei ODER-Verknüpfung eine Exception.
q=Alvine.Package.Platform.Filter.buildAndFilter('f="2" AND f=5');
console.log(q.toString());
>> f="2" AND f=5
Filter-Objekt¶
Ein Filter besteht aus dem optionalen Tabellennamen, dem Feldnamen, einem Operator und dem Wert.
Über die Methoden Filter.getField()
, Filter.getOperator()
, Filter.getTable() und
Filter.getValue()können die Werte abgerufen werden. Mit
Filter.toString()` wird
der Filter als Zeichenkette ausgegeben.
Tokenizer¶
Der Tokenizer sorgt dafür, das ein Query in einzelne Token zerlegt wird.
Das Ergebnis ist eine Alvine.Types.Collection
mit den einzelnen Token.
Das Token-Objekt besitzt die Eigenschaften type
und value
. Der Typ
des Token kann 'TABLE', 'FIELD', 'OPERATOR', 'VALUE' oder 'CONJUNCTION' sein.
Als Operator kann der Typ 'EQ', 'NE', 'LE', 'LT', 'GE', 'GT', 'NOT' oder 'IN' sein.
Die Konjunktion kann 'AND' oder 'OR' sein.