Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.search
Class PatternModel

    java.lang.Object
      org.jdesktop.swingx.search.PatternModel

    public class PatternModel

extends java.lang.Object

Presentation Model for Find/Filter Widgets.

Compiles and holds a Pattern from rawText. There are different predefined strategies to control the compilation:

- TODO: list and explain

Holds state for controlling the match process for both find and filter (TODO - explain). Relevant in all

- caseSensitive -
- empty - true if there's no searchString
- incremental - a hint to clients to react immediately to pattern changes.

Relevant in find contexts:

- backwards - search direction if used in a find context
- wrapping - wrap over the end/start if not found
- foundIndex - storage for last found index
- autoAdjustFoundIndex - flag to indicate auto-incr/decr of foundIndex on setting. Here the property correlates to !isIncremental() - to simplify batch vs. incremental search ui.

JW: Work-in-progress - Anchors will be factored into AnchoredSearchMode Anchors By default, the scope of the pattern relative to strings being tested are unanchored, ie, the pattern will match any part of the tested string. Traditionally, special characters ('^' and '$') are used to describe patterns that match the beginning (or end) of a string. If those characters are included in the pattern, the regular expression will honor them. However, for ease of use, two properties are included in this model that will determine how the pattern will be evaluated when these characters are omitted.

The StartAnchored property determines if the pattern must match from the beginning of tested strings, or if the pattern can appear anywhere in the tested string. Likewise, the EndAnchored property determines if the pattern must match to the end of the tested string, or if the end of the pattern can appear anywhere in the tested string. The default values (false in both cases) correspond to the common database 'LIKE' operation, where the pattern is considered to be a match if any part of the tested string matches the pattern.

Author:
  Jeanette Winzenburg, David Hall

Nested Class Summary
`static class` | `PatternModel.AnchoredSearchMode` Support for anchored input.
`static class` | `PatternModel.RegexCreator` Responsible for converting a "raw text" into a valid regular expression in the context of a set of rules.

Field Summary
`static java.lang.String` | `MATCH_BACKWARDS_ACTION_COMMAND`
`static java.lang.String` | `MATCH_CASE_ACTION_COMMAND`
`static java.lang.String` | `MATCH_INCREMENTAL_ACTION_COMMAND`
`static java.lang.String` | `MATCH_RULE_CONTAINS`
`static java.lang.String` | `MATCH_RULE_ENDSWITH`
`static java.lang.String` | `MATCH_RULE_EQUALS`
`static java.lang.String` | `MATCH_RULE_STARTSWITH`
`static java.lang.String` | `MATCH_WRAP_ACTION_COMMAND`
`static java.lang.String` | `REGEX_ANCHORED`
`static java.lang.String` | `REGEX_MATCH_RULES`
`static java.lang.String` | `REGEX_UNCHANGED`
`static java.lang.String` | `REGEX_WILDCARD`
`static java.lang.String` | `SEARCH_PREFIX` The prefix marker to find component related properties in the resourcebundle.

Constructor Summary
`PatternModel()`

Method Summary
`void` | `addPropertyChangeListener(java.beans.PropertyChangeListener l)`
`protected void` | `createRegexCreator(java.lang.String mode)` Creates and sets the strategy to use for compiling a pattern from rawtext.
`protected void` | `firePropertyChange(java.lang.String name, java.lang.Object oldValue, java.lang.Object newValue)`
`int` | `getFoundIndex()`
`java.lang.String` | `getMatchRule()`
`java.util.List<java.lang.String>` | `getMatchRules()`
`java.util.regex.Pattern` | `getPattern()`
`java.lang.String` | `getRawText()`
`java.lang.String` | `getRegexCreatorKey()`
`boolean` | `isAutoAdjustFoundIndex()`
`boolean` | `isBackwards()`
`boolean` | `isCaseSensitive()`
`boolean` | `isEmpty()`
`boolean` | `isIncremental()`
`boolean` | `isWrapping()`
`void` | `removePropertyChangeListener(java.beans.PropertyChangeListener l)`
`void` | `setBackwards(boolean backwards)`
`void` | `setCaseSensitive(boolean caseSensitive)`
`void` | `setFoundIndex(int foundIndex)`
`void` | `setIncremental(boolean incremental)`
`void` | `setMatchRule(java.lang.String category)`
`void` | `setRawText(java.lang.String findText)`
`void` | `setRegexCreator(PatternModel.RegexCreator regexCreator)` This is a quick-fix to allow custom strategies for compiling rawtext to patterns.
`void` | `setRegexCreatorKey(java.lang.String mode)` Set the strategy to use for compiling a pattern from rawtext.
`void` | `setWrapping(boolean wrapping)`
`protected void` | `updateFoundIndex(int newFoundIndex)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SEARCH_PREFIX

    public static final java.lang.String SEARCH_PREFIX

  The prefix marker to find component related properties in the resourcebundle.

  See Also:
    Constant Field Values

### REGEX_UNCHANGED

    public static final java.lang.String REGEX_UNCHANGED

See Also:
  Constant Field Values

### REGEX_ANCHORED

    public static final java.lang.String REGEX_ANCHORED

See Also:
  Constant Field Values

### REGEX_WILDCARD

    public static final java.lang.String REGEX_WILDCARD

See Also:
  Constant Field Values

### REGEX_MATCH_RULES

    public static final java.lang.String REGEX_MATCH_RULES

See Also:
  Constant Field Values

### MATCH_RULE_CONTAINS

    public static final java.lang.String MATCH_RULE_CONTAINS

See Also:
  Constant Field Values

### MATCH_RULE_EQUALS

    public static final java.lang.String MATCH_RULE_EQUALS

See Also:
  Constant Field Values

### MATCH_RULE_ENDSWITH

    public static final java.lang.String MATCH_RULE_ENDSWITH

See Also:
  Constant Field Values

### MATCH_RULE_STARTSWITH

    public static final java.lang.String MATCH_RULE_STARTSWITH

See Also:
  Constant Field Values

### MATCH_BACKWARDS_ACTION_COMMAND

    public static final java.lang.String MATCH_BACKWARDS_ACTION_COMMAND

See Also:
  Constant Field Values

### MATCH_WRAP_ACTION_COMMAND

    public static final java.lang.String MATCH_WRAP_ACTION_COMMAND

See Also:
  Constant Field Values

### MATCH_CASE_ACTION_COMMAND

    public static final java.lang.String MATCH_CASE_ACTION_COMMAND

See Also:
  Constant Field Values

### MATCH_INCREMENTAL_ACTION_COMMAND

    public static final java.lang.String MATCH_INCREMENTAL_ACTION_COMMAND

See Also:
  Constant Field Values

Constructor Detail

### PatternModel

    public PatternModel()

Method Detail

### getFoundIndex

    public int getFoundIndex()

### setFoundIndex

    public void setFoundIndex(int foundIndex)

### updateFoundIndex

    protected void updateFoundIndex(int newFoundIndex)

  Parameters:
    `newFoundIndex` -

### isAutoAdjustFoundIndex

    public boolean isAutoAdjustFoundIndex()

### isBackwards

    public boolean isBackwards()

### setBackwards

    public void setBackwards(boolean backwards)

### isWrapping

    public boolean isWrapping()

### setWrapping

    public void setWrapping(boolean wrapping)

### setIncremental

    public void setIncremental(boolean incremental)

### isIncremental

    public boolean isIncremental()

### isCaseSensitive

    public boolean isCaseSensitive()

### setCaseSensitive

    public void setCaseSensitive(boolean caseSensitive)

### getPattern

    public java.util.regex.Pattern getPattern()

### getRawText

    public java.lang.String getRawText()

### setRawText

    public void setRawText(java.lang.String findText)

### isEmpty

    public boolean isEmpty()

### addPropertyChangeListener

    public void addPropertyChangeListener(java.beans.PropertyChangeListener l)

### removePropertyChangeListener

    public void removePropertyChangeListener(java.beans.PropertyChangeListener l)

### firePropertyChange

    protected void firePropertyChange(java.lang.String name,
                                      java.lang.Object oldValue,
                                      java.lang.Object newValue)

### setRegexCreatorKey

    public void setRegexCreatorKey(java.lang.String mode)

  Set the strategy to use for compiling a pattern from rawtext. NOTE: This is imcomplete (in fact it wasn't implemented at all) - only recognizes REGEX_ANCHORED, every other value results in REGEX_MATCH_RULES.

  Parameters:
    `mode` - the String key of the match strategy to use.

### createRegexCreator

    protected void createRegexCreator(java.lang.String mode)

  Creates and sets the strategy to use for compiling a pattern from rawtext. NOTE: This is imcomplete (in fact it wasn't implemented at all) - only recognizes REGEX_ANCHORED, every other value results in REGEX_MATCH_RULES.

  Parameters:
    `mode` - the String key of the match strategy to use.

### getRegexCreatorKey

    public java.lang.String getRegexCreatorKey()

### setRegexCreator

    public void setRegexCreator(PatternModel.RegexCreator regexCreator)

  This is a quick-fix to allow custom strategies for compiling rawtext to patterns.

  Parameters:
    `regexCreator` - the strategy to use for compiling text into pattern.

### setMatchRule

    public void setMatchRule(java.lang.String category)

### getMatchRule

    public java.lang.String getMatchRule()

### getMatchRules

    public java.util.List<java.lang.String> getMatchRules()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.