ca.odell.glazedlists.matchers
Class TextMatcherEditor<E>
- MatcherEditor<E>
public class TextMatcherEditor<E>
A matcher editor that matches Objects that contain a filter text string.
This
TextMatcherEditor
is not coupled with any UI component that
allows the user to edit the filter text. That job is left to subclasses.
This matcher editor is fully concrete, and may be used directly by headless
applications.
The
TextMatcherEditor
requires that either a
TextFilterator
be specified in its constructor, or that every Object
to be matched implements the
TextFilterable
interface. These are
used to extract the searchable
String
s for each Object.
TextMatcherEditor
is able to operate in one of three modes.
CONTAINS
will produce Matcher
objects that test if
at least one searchable string for an Object contains
one of the filter strings anywhere within itself.
STARTS_WITH
will produce Matcher
objects that test
if at least one searchable string for an Object
begins with at least one of the filter strings.
REGULAR_EXPRESSION
will produce Matcher
objects that
test if at least one searchable string for an Object matches,
using regular expression rules, at least one of the filter
strings.
TextMatcherEditor
is able to operate with one of two strategies.
IDENTICAL_STRATEGY
defines a text match as a precise
character-for-character match between the filters and the text.
NORMALIZED_STRATEGY
defines a text match more leniently for
Latin-character based languages. Specifically, diacritics are
stripped from all Latin characters before comparisons are made.
Consequently, filters like "resume" match words like "r???sum???".
static int | CONTAINS - Matching mode where items are considered a match if at least one of the
filter strings extracted from an object contains one of the given search
strings.
|
static int | EXACT - Matching mode where items are considered a match if they are an exact
character for character match with at least one of the filter strings.
|
static Object | IDENTICAL_STRATEGY - Character comparison strategy that assumes all characters can be
compared directly as though they are ASCII.
|
static Object | NORMALIZED_STRATEGY - Character comparison strategy that assumes all Latin characters should
have their diacritical marks stripped in an effort to normalize words to
their most basic form.
|
static int | REGULAR_EXPRESSION - Matching mode where items are considered a match using a
java.util.regex.Matcher produced by compiling a regular
expression into java.util.regex.Pattern .
|
static int | STARTS_WITH - Matching mode where items are considered a match if at least one of the
filter strings extracted from an object starts with one of the given search
strings.
|
protected TextMatcher | getCurrentTextMatcher() - Return the current Matcher if it is a
TextMatcher or
null if no current Matcher exists or is something other
than a TextMatcher .
|
int | getMode() - Returns the behaviour mode for this
TextMatcherEditor .
|
Object | getStrategy() - Returns the character comparison strategy for this
TextMatcherEditor .
|
void | setFilterText(String[] newFilters) - Adjusts the filters of this
TextMatcherEditor and fires a change
to the Matcher .
|
void | setFilterator(E> filterator) - Set the filterator used to extract Strings from the matched elements.
|
void | setMode(int mode) - Modify the behaviour of this
TextMatcherEditor to one of the
predefined modes.
|
void | setStrategy(Object strategy) - Modify the character matching strategy of this
TextMatcherEditor
to one of the predefined strategies.
|
protected void | setTextMatcher(TextMatcher newMatcher) - This method replaces the current Matcher in this TextMatcherEditor with
the
newMatcher if it is different.
|
TextFilterator | super E> getFilterator() - Get the filterator used to extract Strings from the matched elements.
|
addMatcherEditorListener , fireChanged , fireChangedMatcher , fireConstrained , fireMatchAll , fireMatchNone , fireRelaxed , getMatcher , isCurrentlyMatchingAll , isCurrentlyMatchingNone , removeMatcherEditorListener |
CONTAINS
public static final int CONTAINS
Matching mode where items are considered a match if at least one of the
filter strings extracted from an object contains one of the given search
strings.
EXACT
public static final int EXACT
Matching mode where items are considered a match if they are an exact
character for character match with at least one of the filter strings.
IDENTICAL_STRATEGY
public static final Object IDENTICAL_STRATEGY
Character comparison strategy that assumes all characters can be
compared directly as though they are ASCII. This implies there is no
fuzzy matching with this strategy - each character must be precisely
matched.
NORMALIZED_STRATEGY
public static final Object NORMALIZED_STRATEGY
Character comparison strategy that assumes all Latin characters should
have their diacritical marks stripped in an effort to normalize words to
their most basic form. This allows a degree of fuzziness within the
matching algorithm, since words like "resume" will match similar words
with diacritics like "r???sum???". This strategy is particularly useful when
the text to be searched contains text like names in foreign languages,
and your application would like search terms such as "Muller" to match
the actual native spelling: "M???ller".
REGULAR_EXPRESSION
public static final int REGULAR_EXPRESSION
Matching mode where items are considered a match using a
java.util.regex.Matcher
produced by compiling a regular
expression into java.util.regex.Pattern
.
STARTS_WITH
public static final int STARTS_WITH
Matching mode where items are considered a match if at least one of the
filter strings extracted from an object starts with one of the given search
strings.
TextMatcherEditor
public TextMatcherEditor()
TextMatcherEditor
public TextMatcherEditor(E> filterator)
filterator
- the object that will extract filter Strings from each
object in the source
; null
indicates the
list elements implement TextFilterable
getCurrentTextMatcher
protected TextMatcher getCurrentTextMatcher()
Return the current Matcher if it is a TextMatcher
or
null
if no current Matcher exists or is something other
than a TextMatcher
.
getMode
public int getMode()
getStrategy
public Object getStrategy()
Returns the character comparison strategy for this
TextMatcherEditor
.
See the documentation for each constant in order contrast the strategies.
setFilterText
public void setFilterText(String[] newFilters)
newFilters
- the String
s representing all of the filter values
setFilterator
public void setFilterator(E> filterator)
Set the filterator used to extract Strings from the matched elements.
setMode
public void setMode(int mode)
setStrategy
public void setStrategy(Object strategy)
Modify the character matching strategy of this
TextMatcherEditor
to one of the predefined strategies. See the documentation for each
constant in order contrast the strategies.
setTextMatcher
protected void setTextMatcher(TextMatcher newMatcher)
This method replaces the current Matcher in this TextMatcherEditor with
the newMatcher
if it is different. If the current Matcher
is also a TextMatcher then many comparisons between the two in order to
determine if the new Matcher is a strict constrainment or relaxation of
the current TextMatcher.
newMatcher
- new TextMatcher which defines the text filtering logic
super E> getFilterator
public TextFilterator super E> getFilterator()
Get the filterator used to extract Strings from the matched elements.
Glazed Lists, Copyright © 2003 publicobject.com, O'Dell Engineering.
Documentation build by pbuilder at 2009-07-14 22:05