|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.levigo.util.base.glazedlists.matchers.AbstractMatcherEditor<E> com.levigo.util.base.glazedlists.matchers.TextMatcherEditor<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�".
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.levigo.util.base.glazedlists.matchers.MatcherEditor |
---|
MatcherEditor.Event<E>, MatcherEditor.Listener<E> |
Field Summary | |
---|---|
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 Matcher produced by compiling a regular
expression into 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. |
Fields inherited from class com.levigo.util.base.glazedlists.matchers.AbstractMatcherEditor |
---|
currentMatcher |
Constructor Summary | |
---|---|
TextMatcherEditor()
Creates a TextMatcherEditor whose Matchers can test only elements which
implement the TextFilterable interface. |
|
TextMatcherEditor(TextFilterator<? super E> filterator)
Creates a TextMatcherEditor that matches Objects using the
specified TextFilterator to get the String s to search. |
Method Summary | |
---|---|
protected com.levigo.util.base.internal.glazedlists.filter.TextMatcher<E> |
getCurrentTextMatcher()
Return the current Matcher if it is a TextMatcher or
null if no current Matcher exists or is something other
than a TextMatcher . |
TextFilterator<? super E> |
getFilterator()
Get the filterator used to extract Strings from the matched elements. |
int |
getMode()
Returns the behaviour mode for this TextMatcherEditor . |
Object |
getStrategy()
Returns the character comparison strategy for this TextMatcherEditor . |
void |
setFilterator(TextFilterator<? super E> filterator)
Set the filterator used to extract Strings from the matched elements. |
void |
setFilterText(String[] newFilters)
Adjusts the filters of this TextMatcherEditor and fires a change
to the Matcher . |
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(com.levigo.util.base.internal.glazedlists.filter.TextMatcher<E> newMatcher)
This method replaces the current Matcher in this TextMatcherEditor with the newMatcher if it is different. |
Methods inherited from class com.levigo.util.base.glazedlists.matchers.AbstractMatcherEditor |
---|
addMatcherEditorListener, fireChanged, fireChangedMatcher, fireConstrained, fireMatchAll, fireMatchNone, fireRelaxed, getMatcher, isCurrentlyMatchingAll, isCurrentlyMatchingNone, removeMatcherEditorListener |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int CONTAINS
public static final int STARTS_WITH
public static final int REGULAR_EXPRESSION
Matcher
produced by compiling a regular
expression into Pattern
.
public static final int EXACT
public static final Object IDENTICAL_STRATEGY
public static final Object NORMALIZED_STRATEGY
Constructor Detail |
---|
public TextMatcherEditor()
TextMatcherEditor
whose Matchers can test only elements which
implement the TextFilterable
interface.
The Matcher
s from this MatcherEditor
will throw a
ClassCastException
when called with an Object that does not implement
TextFilterable
.
public TextMatcherEditor(TextFilterator<? super E> filterator)
TextMatcherEditor
that matches Objects using the
specified TextFilterator
to get the String
s to search.
filterator
- the object that will extract filter Strings from each
object in the source
; null
indicates the
list elements implement TextFilterable
Method Detail |
---|
public TextFilterator<? super E> getFilterator()
public void setFilterator(TextFilterator<? super E> filterator)
public void setMode(int mode)
TextMatcherEditor
to one of the
predefined modes.
mode
- either CONTAINS
, STARTS_WITH
,
REGULAR_EXPRESSION
, or EXACT
public int getMode()
TextMatcherEditor
.
CONTAINS
(default), STARTS_WITH
,
REGULAR_EXPRESSION
, or EXACT
public void setStrategy(Object strategy)
TextMatcherEditor
to one of the predefined strategies. See the documentation for each
constant in order contrast the strategies.
strategy
- either IDENTICAL_STRATEGY
or NORMALIZED_STRATEGY
public Object getStrategy()
TextMatcherEditor
.
See the documentation for each constant in order contrast the strategies.
IDENTICAL_STRATEGY
or NORMALIZED_STRATEGY
protected com.levigo.util.base.internal.glazedlists.filter.TextMatcher<E> getCurrentTextMatcher()
TextMatcher
or
null
if no current Matcher exists or is something other
than a TextMatcher
.
public void setFilterText(String[] newFilters)
TextMatcherEditor
and fires a change
to the Matcher
.
newFilters
- the String
s representing all of the filter valuesprotected void setTextMatcher(com.levigo.util.base.internal.glazedlists.filter.TextMatcher<E> newMatcher)
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
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |