tvbrowser.core.search.booleansearch
Class BooleanSearcher
java.lang.Object
tvbrowser.core.search.AbstractSearcher
tvbrowser.core.search.booleansearch.BooleanSearcher
- All Implemented Interfaces:
- ProgramSearcher
public class BooleanSearcher
- extends AbstractSearcher
Zentrale Kontrollklasse für boolsche Suchen.
Muster: WOrt AND WOrt OR NOT (WOrt AND WOrt). Jedes Wort kann alle
Zeichenfolgen inklusive " " enthalten.
Ausnahmen (casesensitive): "AND", "OR", "&&", "||", "NOT", "(", ")" und
regex-Ausdrücke. " "-Zeichen werden durch den regex-Ausdruck "\s"
ersetzt.
regex-Ausdruck in den Wörtern führen zu unvOrhersagbarem Verhalten
PriOritätsreihenfolge: NOT, AND, OR. Beispiele: WOrt AND WOrt OR WOrt =>
(WOrt AND WOrt) OR WOrt WOrt AND NOT WOrt OR WOrt => (WOrt AND (NOT WOrt)) OR
WOrt
Klammern müssen nicht geschlossen werden.
Die Klammerung kann beliebig verschaltet werden. (was aber schwer auf die
Performance der Kompilierung schlagen kann)
- Author:
- Gilson Laurent, pumpkin@gmx.de
Constructor Summary |
BooleanSearcher(java.lang.String pattern,
boolean caseSensitive)
Erzeugt einen neuen Suchbaum. |
Method Summary |
java.lang.String |
getPattern()
get the pattern used by this searcher |
boolean |
isCaseSensitive()
is this searcher case sensitive |
protected boolean |
matches(java.lang.String searchTerm)
Checks whether a value matches to the criteria of this searcher. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
BooleanSearcher
public BooleanSearcher(java.lang.String pattern,
boolean caseSensitive)
throws ParserException
- Erzeugt einen neuen Suchbaum. Der Baum wird automatisch optimiert. Es kann
immer nur ein Konstruktor gleichzeitig laufen. Fuer Synchronization ist
gesorgt.
- Throws:
ParserException
matches
protected boolean matches(java.lang.String searchTerm)
- Checks whether a value matches to the criteria of this searcher.
- Specified by:
matches
in class AbstractSearcher
- Parameters:
searchTerm
- The value to check
- Returns:
- Whether the value matches.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getPattern
public java.lang.String getPattern()
- get the pattern used by this searcher
- Returns:
- the pattern as string
- Since:
- 3.2
isCaseSensitive
public boolean isCaseSensitive()
- is this searcher case sensitive
- Returns:
- true if case sensitive
- Since:
- 3.2
TV-Browser 3.3.3, Copyright (C) 2004-2008 TV-Browser Team (dev@tvbrowser.org)