Module ij
Package ij.util

# Class WildcardMatch

java.lang.Object
ij.util.WildcardMatch

public class WildcardMatch extends Object
This class allows for simple wildcard pattern matching. Possible patterns allow to match single characters ('?') or any count of characters ('*').

Wildcard characters can be escaped (default: by an '\').

This class always matches for the whole word.

Examples:

     WildcardMatch wm = new WildcardMatch();
     System.out.println(wm.match("CfgOptions.class", "C*.class"));    // true
     System.out.println(wm.match("CfgOptions.class", "?gOpti*c?as?"));  // false
     System.out.println(wm.match("CfgOptions.class", "??gOpti*c?ass")); // true
     System.out.println(wm.match("What's this?",       "What*\\?"));          // true
     System.out.println(wm.match("What's this?",       "What*?"));            // true
     System.out.println(wm.match("A \\ backslash", "*\\\\?back*"));   // true

## Constructor Summary

Constructors
Constructor
Description
`WildcardMatch()`
`WildcardMatch(char singleChar, char multipleChars)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`getCaseSensitive()`
Returns the current state of case sensitivity.
`char`
`getEscapeChar()`
Returns the character used to escape the wildcard functionality of a wildcard character.
`char`
`getMultipleWildcardChar()`
Returns the character used to specify any amount of characters.
`char`
`getSingleWildcardChar()`
Returns the character used to specify exactly one character.
`boolean`
`match(String s, String pattern)`
Matches a string against a pattern with wildcards.
`void`
`setCaseSensitive(boolean caseSensitive)`
Makes pattern matching case insensitive.
`void`
`setEscapeChar(char escapeChar)`
Sets the new character to be used as an escape character, overriding the the default of '\'.
`void`
`setWildcardChars(char singleChar, char multipleChars)`
Sets new characters to be used as wildcard characters, overriding the the default of '?' for any single character match and '*' for any amount of characters, including 0 characters.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### WildcardMatch

public WildcardMatch()

### WildcardMatch

public WildcardMatch(char singleChar, char multipleChars)

## Method Details

### setWildcardChars

public void setWildcardChars(char singleChar, char multipleChars)
Sets new characters to be used as wildcard characters, overriding the the default of '?' for any single character match and '*' for any amount of characters, including 0 characters.

Parameters:
  `singleChar` - The char used to match exactly ONE character.
  `multipleChars` - The char used to match any amount of characters including o characters.

### setEscapeChar

public void setEscapeChar(char escapeChar)
Sets the new character to be used as an escape character, overriding the the default of '\'.

Parameters:
  `escapeChar` - The char used to match escape wildcard characters.

### getSingleWildcardChar

public char getSingleWildcardChar()
Returns the character used to specify exactly one character.

Returns:
  Wildcard character matching any single character.

### getMultipleWildcardChar

public char getMultipleWildcardChar()
Returns the character used to specify any amount of characters.

Returns:
  Wildcard character matching any count of characters.

### getEscapeChar

public char getEscapeChar()
Returns the character used to escape the wildcard functionality of a wildcard character. If two escape characters are used in sequence, they mean the escape character itself. It defaults to '\'.

Returns:
  Escape character.

### setCaseSensitive

public void setCaseSensitive(boolean caseSensitive)
Makes pattern matching case insensitive.

Parameters:
  `caseSensitive` - false for case insensitivity. Default is case sensitive match.

### getCaseSensitive

public boolean getCaseSensitive()
Returns the current state of case sensitivity.

Returns:
  true for case sensitive pattern matching, false otherwise.

### match

public boolean match(String s, String pattern)
Matches a string against a pattern with wildcards. Two wildcard types are supported: single character match (defaults to '?') and ANY character match ('*'), matching any count of characters including 0. Wildcard characters may be escaped by an escape character, which defaults to '\'.

Parameters:
  `s` - The string, in which the search should be performed.
  `pattern` - The search pattern string including wildcards.
Returns:
  true, if string 's' matches 'pattern'.