net.pandoragames.far.ui
Class SimpleFileNamePatternShell

java.lang.Object
  extended by net.pandoragames.far.ui.SimpleFileNamePattern
      extended by net.pandoragames.far.ui.SimpleFileNamePatternShell

public class SimpleFileNamePatternShell
extends SimpleFileNamePattern

Alternative implementation of the SimpleFileNamePattern class mimicking POSIX shell wildcards:

The simple pattern may contain any character greater #31, except the characters '/','\',':' and ';' ('\' may however be used to escape the special characters listed below). In addition, the platform file separator (/ on *X, \ on Windows) and the platform file-name separator (: on *X, ; on Windows) are not permitted.

The characters '*', '?', '[' (']') and '{' ('}') have special meaning. The asterisk '*' represents any number of characters (including zero) and '?' represents exactly one character.
'[rgb]' matches the given set of characters (a character "class"), '[!rgb]' matches any character not in the set (negation) and '[a-z]' matches a range.
'{either,or}' defines an alternative.

Special characters may be escaped using the backslash (\). White space at both ends of a simple pattern is of corse discarded.

Author:
Olivier Wehner

Field Summary
 
Fields inherited from class net.pandoragames.far.ui.SimpleFileNamePattern
forbiddenCharacters, logger, toBeEscaped
 
Method Summary
 java.util.regex.Pattern createPattern(java.lang.String simplePattern, boolean ignoreCase)
          Create a java.util.regex.Pattern from a simple string pattern.
static void setDefault()
          Sets this class as the default returned by SimpleFileNamePattern.getInstance().
 
Methods inherited from class net.pandoragames.far.ui.SimpleFileNamePattern
getInstance, setInstance, validateFileNamePattern
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setDefault

public static void setDefault()
Sets this class as the default returned by SimpleFileNamePattern.getInstance().


createPattern

public java.util.regex.Pattern createPattern(java.lang.String simplePattern,
                                             boolean ignoreCase)
                                      throws PatternException
Description copied from class: SimpleFileNamePattern
Create a java.util.regex.Pattern from a simple string pattern. The syntax of the simple pattern is implementation dependend.

Specified by:
createPattern in class SimpleFileNamePattern
Parameters:
simplePattern - see class description
ignoreCase - should letter case be considdered
Returns:
Pattern object for specified simple pattern string
Throws:
PatternException - if the simple pattern is not valid