public class WildcardHelper extends Object implements PatternMatcher<int[]>
| 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. |
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.
|
boolean |
isLiteral(String pattern)
Determines if the pattern contains any * characters
|
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.
|
boolean |
match(Map<String,String> map,
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 boolean isLiteral(String pattern)
isLiteral in interface PatternMatcher<int[]>pattern - The patternpublic 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.
compilePattern in interface PatternMatcher<int[]>data - The string to translate.NullPointerException - If data is null.public boolean match(Map<String,String> map, String data, int[] expr)
Stack.match in interface PatternMatcher<int[]>map - The map to store matched valuesdata - The string to matchexpr - The compiled wildcard expressionNullPointerException - 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 © 2000–2018 Apache Software Foundation. All rights reserved.