public class Strings
extends java.lang.Object
String
related utility methods, written mostly to
avoid generation of new String objects (e.g. via splitting Strings etc).Modifier and Type | Class and Description |
---|---|
(package private) static class |
Strings.PatternState |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
DL |
(package private) static java.util.List<java.lang.String> |
JAVA_CHAR_CLASSES |
(package private) static java.util.List<java.lang.String> |
POSIX_CHAR_CLASSES |
(package private) static java.util.regex.Pattern |
UNSUPPORTED |
Constructor and Description |
---|
Strings() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
checkPosixCharClass(char[] buffer) |
(package private) static Strings.PatternState |
checkWildCards(java.lang.String pattern) |
(package private) static java.util.regex.Pattern |
convertGlob(java.lang.String pattern)
Conversion from glob to Java regex following two sources:
http://man7.org/linux/man-pages/man7/glob.7.html
org.eclipse.jgit.fnmatch.FileNameMatcher.java Seems that there are
various ways to define what "glob" can be.
|
(package private) static int |
count(java.lang.String s,
char c,
boolean ignoreFirstLast) |
(package private) static java.lang.String |
deleteBackslash(java.lang.String s) |
private static boolean |
escapedByBackslash(char nextChar) |
(package private) static char |
getPathSeparator(java.lang.Character pathSeparator) |
private static boolean |
isComplexWildcard(java.lang.String pattern) |
static boolean |
isDirectoryPattern(java.lang.String pattern)
Check if pattern is a directory pattern ending with a path separator
|
(package private) static boolean |
isWildCard(java.lang.String pattern) |
private static char |
lookAhead(java.lang.String pattern,
int i) |
private static char |
lookBehind(java.lang.StringBuilder buffer) |
private static void |
reset(char[] buffer) |
private static void |
setNext(char[] buffer,
char c) |
static java.util.List<java.lang.String> |
split(java.lang.String pattern,
char slash)
Splits given string to substrings by given separator
|
static java.lang.String |
stripTrailing(java.lang.String pattern,
char c)
Strip trailing characters
|
static java.lang.String |
stripTrailingWhitespace(java.lang.String pattern)
Strip trailing whitespace characters
|
static final java.util.List<java.lang.String> POSIX_CHAR_CLASSES
private static final java.lang.String DL
static final java.util.List<java.lang.String> JAVA_CHAR_CLASSES
static final java.util.regex.Pattern UNSUPPORTED
static char getPathSeparator(java.lang.Character pathSeparator)
public static java.lang.String stripTrailing(java.lang.String pattern, char c)
pattern
- non nullc
- character to removepublic static java.lang.String stripTrailingWhitespace(java.lang.String pattern)
pattern
- non nullpublic static boolean isDirectoryPattern(java.lang.String pattern)
pattern
- non nulltrue
if the last character, which is not whitespace, is a
path separatorstatic int count(java.lang.String s, char c, boolean ignoreFirstLast)
public static java.util.List<java.lang.String> split(java.lang.String pattern, char slash)
pattern
- non nullslash
- separator charstatic boolean isWildCard(java.lang.String pattern)
private static boolean isComplexWildcard(java.lang.String pattern)
private static boolean escapedByBackslash(char nextChar)
static Strings.PatternState checkWildCards(java.lang.String pattern)
static java.util.regex.Pattern convertGlob(java.lang.String pattern) throws InvalidPatternException
pattern
- non null patternInvalidPatternException
private static char lookBehind(java.lang.StringBuilder buffer)
buffer
- private static char lookAhead(java.lang.String pattern, int i)
pattern
- i
- current pointer in the patternprivate static void setNext(char[] buffer, char c)
private static void reset(char[] buffer)
private static java.lang.String checkPosixCharClass(char[] buffer)
static java.lang.String deleteBackslash(java.lang.String s)