Class RowFilters
- java.lang.Object
-
- org.jdesktop.swingx.sort.RowFilters
-
public class RowFilters extends java.lang.Object
Factory of additionalRowFilter
s.Trigger is the missing of Pattern/Regex+matchflags factory method in core. Can't do much other than c&p core as both abstract base class GeneralFilter and concrete RowFilter are private. Expose the base as public for custom subclasses
- Author:
- Jeanette Winzenburg
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RowFilters.GeneralFilter
C&P from core Swing to allow subclassing.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <M,I>
javax.swing.RowFilter<M,I>regexFilter(int matchFlags, java.lang.String regex, int... indices)
Returns aRowFilter
that uses a regular expression to determine which entries to include.static <M,I>
javax.swing.RowFilter<M,I>regexFilter(java.lang.String regex, int... indices)
Returns aRowFilter
that uses a regular expression to determine which entries to include.static <M,I>
javax.swing.RowFilter<M,I>regexFilter(java.util.regex.Pattern pattern, int... indices)
Returns aRowFilter
that uses a regular expression to determine which entries to include.
-
-
-
Method Detail
-
regexFilter
public static <M,I> javax.swing.RowFilter<M,I> regexFilter(java.lang.String regex, int... indices)
Returns aRowFilter
that uses a regular expression to determine which entries to include. Only entries with at least one matching value are included. For example, the following creates aRowFilter
that includes entries with at least one value starting with "a":RowFilter.regexFilter("^a");
The returned filter uses
Matcher.find()
to test for inclusion. To test for exact matches use the characters '^' and '$' to match the beginning and end of the string respectively. For example, "^foo$" includes only rows whose string is exactly "foo" and not, for example, "food". SeePattern
for a complete description of the supported regular-expression constructs.- Parameters:
regex
- the regular expression to filter onindices
- the indices of the values to check. If not supplied all values are evaluated- Returns:
- a
RowFilter
implementing the specified criteria - Throws:
java.lang.NullPointerException
- ifregex
isnull
java.lang.IllegalArgumentException
- if any of theindices
are < 0java.util.regex.PatternSyntaxException
- ifregex
is not a valid regular expression.- See Also:
Pattern
-
regexFilter
public static <M,I> javax.swing.RowFilter<M,I> regexFilter(int matchFlags, java.lang.String regex, int... indices)
Returns aRowFilter
that uses a regular expression to determine which entries to include. Only entries with at least one matching value are included. For example, the following creates aRowFilter
that includes entries with at least one value starting with "a" ignoring case:RowFilter.regexFilter(Pattern.CASE_INSENSITIVE, "^a");
The returned filter uses
Matcher.find()
to test for inclusion. To test for exact matches use the characters '^' and '$' to match the beginning and end of the string respectively. For example, "^foo$" includes only rows whose string is exactly "foo" and not, for example, "food". SeePattern
for a complete description of the supported regular-expression constructs.- Parameters:
matchFlags
- Match flags, a bit mask that may include#CASE_INSENSITIVE
,#MULTILINE
,#DOTALL
,#UNICODE_CASE
,#CANON_EQ
,#UNIX_LINES
,#LITERAL
and#COMMENTS
regex
- the regular expression to filter onindices
- the indices of the values to check. If not supplied all values are evaluated- Returns:
- a
RowFilter
implementing the specified criteria - Throws:
java.lang.NullPointerException
- ifregex
isnull
java.lang.IllegalArgumentException
- if any of theindices
are < 0java.lang.IllegalArgumentException
- If bit values other than those corresponding to the defined match flags are set in flagsjava.util.regex.PatternSyntaxException
- ifregex
is not a valid regular expression.- See Also:
Pattern
-
regexFilter
public static <M,I> javax.swing.RowFilter<M,I> regexFilter(java.util.regex.Pattern pattern, int... indices)
Returns aRowFilter
that uses a regular expression to determine which entries to include.- Parameters:
pattern
- the Pattern to use for matchingindices
- the indices of the values to check. If not supplied all values are evaluated- Returns:
- a
RowFilter
implementing the specified criteria - Throws:
java.lang.NullPointerException
- ifpattern
isnull
- See Also:
Pattern
-
-