Class RowFilters

java.lang.Object
org.jdesktop.swingx.sort.RowFilters

public class RowFilters extends Object
Factory of additional RowFilters.

Trigger is the missing of Pattern/Regex+matchflags factory method in core. Can't do much other than cinvalid input: '&p' core as both abstract base class GeneralFilter and concrete RowFilter are private. Expose the base as public for custom subclasses

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Cinvalid input: '&P' from core Swing to allow subclassing.
    private static class 
    Cinvalid input: '&P' from core to allow richer factory methods.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <M, I> RowFilter<M,I>
    regexFilter(int matchFlags, String regex, int... indices)
    Returns a RowFilter that uses a regular expression to determine which entries to include.
    static <M, I> RowFilter<M,I>
    regexFilter(String regex, int... indices)
    Returns a RowFilter that uses a regular expression to determine which entries to include.
    static <M, I> RowFilter<M,I>
    regexFilter(Pattern pattern, int... indices)
    Returns a RowFilter that uses a regular expression to determine which entries to include.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RowFilters

      private RowFilters()
  • Method Details

    • regexFilter

      public static <M, I> RowFilter<M,I> regexFilter(String regex, int... indices)
      Returns a RowFilter 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 a RowFilter 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". See Pattern for a complete description of the supported regular-expression constructs.

      Parameters:
      regex - the regular expression to filter on
      indices - the indices of the values to check. If not supplied all values are evaluated
      Returns:
      a RowFilter implementing the specified criteria
      Throws:
      NullPointerException - if regex is null
      IllegalArgumentException - if any of the indices are < 0
      PatternSyntaxException - if regex is not a valid regular expression.
      See Also:
    • regexFilter

      public static <M, I> RowFilter<M,I> regexFilter(int matchFlags, String regex, int... indices)
      Returns a RowFilter 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 a RowFilter 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". See Pattern for a complete description of the supported regular-expression constructs.

      Parameters:
      matchFlags - Match flags, a bit mask that may include Pattern.CASE_INSENSITIVE, Pattern.MULTILINE, Pattern.DOTALL, Pattern.UNICODE_CASE, Pattern.CANON_EQ, Pattern.UNIX_LINES, Pattern.LITERAL and Pattern.COMMENTS
      regex - the regular expression to filter on
      indices - the indices of the values to check. If not supplied all values are evaluated
      Returns:
      a RowFilter implementing the specified criteria
      Throws:
      NullPointerException - if regex is null
      IllegalArgumentException - if any of the indices are < 0
      IllegalArgumentException - If bit values other than those corresponding to the defined match flags are set in flags
      PatternSyntaxException - if regex is not a valid regular expression.
      See Also:
    • regexFilter

      public static <M, I> RowFilter<M,I> regexFilter(Pattern pattern, int... indices)
      Returns a RowFilter that uses a regular expression to determine which entries to include.
      Parameters:
      pattern - the Pattern to use for matching
      indices - the indices of the values to check. If not supplied all values are evaluated
      Returns:
      a RowFilter implementing the specified criteria
      Throws:
      NullPointerException - if pattern is null
      See Also: