public class WildcardHelper extends Object
Modifier and Type | Field and Description |
---|---|
protected static int |
MATCH_BEGIN
The int representing begin in the pattern
int [] . |
protected static int |
MATCH_END
The int value that terminates the pattern
int [] . |
protected static int |
MATCH_FILE
The int representing '*' in the pattern
int [] . |
protected static int |
MATCH_PATH
The int representing '**' in the pattern
int [] . |
protected static int |
MATCH_THEEND
The int representing end in pattern
int [] . |
Constructor and Description |
---|
WildcardHelper() |
Modifier and Type | Method and Description |
---|---|
int[] |
compilePattern(String data)
Translate the given
String into a int []
representing the pattern matchable by this class. |
static String |
convertParam(String val,
Map<Integer,String> vars)
Inserts into a value wildcard-matched strings where specified.
|
protected int |
indexOfArray(int[] r,
int rpos,
int rend,
char[] d,
int dpos)
Get the offset of a part of an int array within a char array.
|
protected int |
lastIndexOfArray(int[] r,
int rpos,
int rend,
char[] d,
int dpos)
Get the offset of a last occurance of an int array within a char array.
|
List<String> |
match(String data,
int[] expr)
Match a pattern agains a string and isolates wildcard replacement into a
Stack . |
protected boolean |
matchArray(int[] r,
int rpos,
int rend,
char[] d,
int dpos)
Matches elements of array r from rpos to rend with array d, starting from
dpos.
|
protected static final int MATCH_FILE
int []
.protected static final int MATCH_PATH
int []
.protected static final int MATCH_BEGIN
int []
.protected static final int MATCH_THEEND
int []
.protected static final int MATCH_END
int []
.public int[] compilePattern(String data)
Translate the given String
into a int []
representing the pattern matchable by this class.
This function translates a String
into an int array
converting the special '*' and '\' characters.
Here is how the conversion algorithm works:
When more than two '*' characters, not separated by another character,
are found their value is considered as '**' (MATCH_PATH).
The array is always terminated by a special value (MATCH_END).
All MATCH* values are less than zero, while normal characters are equal
or greater.
data
- The string to translate.NullPointerException
- If data is null.public List<String> match(String data, int[] expr)
Stack
.data
- The string to matchexpr
- The compiled wildcard expressionnull
if it does not match.NullPointerException
- If any parameters are nullprotected int indexOfArray(int[] r, int rpos, int rend, char[] d, int dpos)
r
- The array containing the data that need to be matched in d.rpos
- The index of the first character in r to look for.rend
- The index of the last character in r to look for plus 1.d
- The array of char that should contain a part of r.dpos
- The starting offset in d for the matching.protected int lastIndexOfArray(int[] r, int rpos, int rend, char[] d, int dpos)
r
- The array containing the data that need to be matched in d.rpos
- The index of the first character in r to look for.rend
- The index of the last character in r to look for plus 1.d
- The array of char that should contain a part of r.dpos
- The starting offset in d for the matching.protected boolean matchArray(int[] r, int rpos, int rend, char[] d, int dpos)
r
- The array containing the data that need to be matched in d.rpos
- The index of the first character in r to look for.rend
- The index of the last character in r to look for.d
- The array of char that should start from a part of r.dpos
- The starting offset in d for the matching.Copyright © 2001-2017 The Apache Software Foundation. All Rights Reserved.