public class Util
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ALPHA_NUMERIC_STR |
static java.util.List<java.lang.String> |
DISABLED_LIST |
static java.util.List<java.lang.String> |
ENABLED_LIST |
static java.lang.String |
HEX_CHARS_STR |
static java.lang.String |
INDENT |
static java.lang.String |
NL
Newline string for use in code that runs through the GWT compiler.
|
static java.lang.String |
PRINTABLE_CHAR_STR |
static java.util.Random |
rng |
Constructor and Description |
---|
Util() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
byteArrayToHexadecimalString(byte[] data) |
static java.lang.String |
compressWhitespace(java.lang.String str) |
static boolean |
equals(java.lang.String s1,
java.lang.String s2)
Null-safe compare of two Strings
|
static int |
extractDbIdFromUid(java.lang.String uid) |
static int |
extractSectionIdFromUid(java.lang.String uid) |
static void |
failOnNullOrEmpty(java.lang.String name,
java.lang.String value) |
static java.lang.Throwable |
findCauseOfClassType(java.lang.Throwable t,
java.lang.Class<? extends java.lang.Exception> causeWithThisClass)
Traverses the causes of an exception looking for a target type.
|
static java.lang.String |
generateAlpaNumericString(java.util.Random rng,
int length) |
static java.lang.String |
generateHexString(java.util.Random rng,
int length) |
static java.lang.String |
generatePrintableCharsString(java.util.Random rng,
int length) |
static java.lang.String |
generateString(java.util.Random rng,
java.lang.String characters,
int length) |
static Pair<java.lang.String,java.lang.Integer> |
getExceptionFileAndLine(java.lang.Throwable t) |
static int |
getRandom(int max)
Returns a random integer such that:
|
static int |
getRandom(int min,
int max)
Returns a random integer such that:
|
static boolean |
getRandomBoolean() |
static java.time.LocalDate |
getRandomDate(int startYear,
int endYear) |
static java.time.Instant |
getRandomInstant(java.lang.String timezone,
int startYear,
int endYear) |
static java.lang.Throwable |
getRootCause(java.lang.Throwable t)
Returns the root cause of an exception.
|
static <T> java.util.Set<T> |
getSetFromList(java.util.List<T> list,
java.util.Comparator<T> comparator) |
static java.lang.String |
getSimpleClassType(java.lang.Object o) |
static java.lang.String |
getSimpleClassType(java.lang.Object o,
boolean allowNullOrEmpty) |
static java.lang.String |
getSimpleClassType(java.lang.String fullName) |
static java.lang.String |
getSimpleClassType(java.lang.String fullName,
boolean allowNullOrEmpty) |
static java.lang.String |
getStackTrace(java.lang.Throwable throwable,
boolean htmlFormatting)
Returns a String representation of a Throwable's stack trace.
|
static java.lang.String |
getStringBetween(java.lang.String str,
char start,
char end)
Returns the characters between the first occurrence of two delimiters
|
static java.lang.String |
getStringBetween(java.lang.String str,
java.lang.String startDelim,
java.lang.String endDelim)
Returns the characters between the first occurrence of two delimiters
|
static java.util.UUID |
getUUID() |
static java.lang.String |
getUUIDStr() |
static java.lang.String |
instantToString(java.time.Instant instant) |
static java.lang.String |
instantToString(java.time.Instant instant,
java.time.ZoneId zid) |
static java.lang.String |
instantToStringZulu(java.time.Instant instant) |
static boolean |
isDisabled(java.lang.String value) |
static boolean |
isEnabled(java.lang.String value) |
static boolean |
isEnabled(java.lang.String propertyName,
java.util.Map<java.lang.String,java.lang.String> properties) |
static boolean |
isNullOrEmpty(java.util.List<? extends java.lang.Object> list)
Returns whether a List is null or empty.
|
static boolean |
isNullOrEmpty(java.util.Map<? extends java.lang.Object,? extends java.lang.Object> map) |
static boolean |
isNullOrEmpty(java.lang.String str)
Returns whether a String is null or empty after removing leading and
trailing white spaces.
|
static boolean |
isValidParentheses(java.lang.String value)
AS-794
|
static java.lang.String[] |
makeStringArray(java.util.List<java.lang.String> stringList) |
static java.lang.String[] |
makeStringArray(java.lang.String... strings) |
static java.lang.String |
msToHMS(long ms) |
static java.util.Map<java.lang.String,java.lang.String> |
parseStringIntoMap(java.lang.String data) |
static java.lang.String |
preParseParameters(java.lang.String str) |
static void |
preventListTooSmall(java.lang.String name,
java.util.List<?> value,
int lowerLimit) |
static void |
preventNotEqual(int expected,
int actual) |
static void |
preventNull(java.lang.String name,
java.lang.Object o) |
static void |
preventNullOrEmpty(java.util.List<? extends java.lang.Object> list) |
static void |
preventNullOrEmpty(java.util.List<? extends java.lang.Object> list,
java.lang.String msg) |
static void |
preventNullOrEmpty(java.lang.String name,
java.lang.String value) |
static void |
preventNullOrEmpty(java.lang.String name,
java.lang.String[] values) |
static void |
preventNumberTooBig(java.lang.String name,
int value,
int upperLimit) |
static void |
preventNumberTooSmall(java.lang.String name,
int value,
int lowerLimit) |
static void |
preventOutOfBoundNumber(java.lang.String name,
int value,
int lowerLimit,
int upperLimit) |
static java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
quadrupletToMap(java.lang.String value,
java.lang.String listDelim,
java.lang.String tripletDelim) |
static java.lang.String |
quoteString(java.lang.String s) |
static java.lang.String |
removeWhitespace(java.lang.String str) |
static <E> Pair<java.util.List<E>,int[]> |
scrambleList(java.util.List<E> sourceList)
Returns the contents of a list in a random order.
|
static java.lang.String |
stackTraceToString(java.lang.Throwable t) |
static void |
throwExceptionAfterDate(java.time.Instant instant) |
static void |
throwExceptionAfterDate(int year,
int month,
int day)
Throw an exception if the current date is after the specified year,month,day
|
static java.util.Map<java.lang.String,Pair<java.lang.String,java.lang.String>> |
tripletToMap(java.lang.String value,
java.lang.String listDelim,
java.lang.String tripletDelim) |
static <E extends java.lang.Enum<E>> |
unexpectedEnumValue(E enumValue) |
static boolean |
verifySingleton(java.lang.String classType,
boolean isInstantiated)
Assists a class to enforce the classes intention to be a singleton.
|
public static final java.util.List<java.lang.String> ENABLED_LIST
public static final java.util.List<java.lang.String> DISABLED_LIST
public static final java.lang.String HEX_CHARS_STR
public static final java.lang.String ALPHA_NUMERIC_STR
public static final java.lang.String PRINTABLE_CHAR_STR
public static final java.util.Random rng
public static final java.lang.String NL
NL
fails to compile. nl
provides
an inelegant workaround.NL
,
Constant Field Valuespublic static final java.lang.String INDENT
public static boolean isEnabled(java.lang.String value) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static boolean isEnabled(java.lang.String propertyName, java.util.Map<java.lang.String,java.lang.String> properties)
public static boolean isNullOrEmpty(java.lang.String str)
str
- String to check.true
if the String is null or empty; otherwise
false
public static boolean isNullOrEmpty(java.util.List<? extends java.lang.Object> list)
list
- List to check.true
if list is null or empty; otherwise
false
public static boolean isNullOrEmpty(java.util.Map<? extends java.lang.Object,? extends java.lang.Object> map)
public static void preventNull(java.lang.String name, java.lang.Object o)
public static void preventNullOrEmpty(java.lang.String name, java.lang.String[] values) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventNullOrEmpty(java.lang.String name, java.lang.String value) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventNullOrEmpty(java.util.List<? extends java.lang.Object> list) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventNullOrEmpty(java.util.List<? extends java.lang.Object> list, java.lang.String msg) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventOutOfBoundNumber(java.lang.String name, int value, int lowerLimit, int upperLimit) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventNumberTooSmall(java.lang.String name, int value, int lowerLimit) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventNumberTooBig(java.lang.String name, int value, int upperLimit) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventListTooSmall(java.lang.String name, java.util.List<?> value, int lowerLimit) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static void preventNotEqual(int expected, int actual)
public static int getRandom(int max)
0 <= <returned integer> < max
That is to say values of max are not returned.
max
- Specifies to return integers less than this value.public static int getRandom(int min, int max)
min <= <returned integer> < max
That is to say values of max are not returned.
min
- max
- public static boolean getRandomBoolean()
public static <E> Pair<java.util.List<E>,int[]> scrambleList(java.util.List<E> sourceList)
E
- Any ObjectsourceList
- List of Objects to randomly order.Pair
containing:
public static java.lang.String[] makeStringArray(java.lang.String... strings)
public static java.lang.String[] makeStringArray(java.util.List<java.lang.String> stringList)
public static java.lang.String getStackTrace(java.lang.Throwable throwable, boolean htmlFormatting)
throwable
- public static Pair<java.lang.String,java.lang.Integer> getExceptionFileAndLine(java.lang.Throwable t)
public static java.lang.Throwable getRootCause(java.lang.Throwable t)
getRootCause recursively traverses an exception's cause member so long as the cause is not null and is not the current exception itself. When either of those conditions are met (there is no further cause or the current cause and it's parent exception are the same), getRootCause returns the current exception.
t
- exception to processpublic static java.lang.Throwable findCauseOfClassType(java.lang.Throwable t, java.lang.Class<? extends java.lang.Exception> causeWithThisClass)
t
- The exception to processcauseWithThisClass
- The Class of the exception of interest.public static boolean verifySingleton(java.lang.String classType, boolean isInstantiated) throws SingletonException
public static boolean isInstatiated;
In its constructor, the class calls this method as:
isInstatiated = verifySingleton(classType, isInstatiated);
Note: You need to be vigilant when calling verifySingleton() in super- and subclasses. For example, assume (1) B extends A and (2) B is a singleton.
If you never expect your code to instantiate A directly, then you should call verifySingleton() in A's constructor. This protects against a piece of code requesting an instance of A independently (of B). You could additionally call verifySingleton() from B, but it is not necessary.
However, if you expect your code to use B as a singleton and to use additional instances of A (other than as a superclass of B), then you must call verifySingleton() in B; but not in A.
classType
- Class nameisInstantiated
- true if the class has already been instantiated;
otherwise false that the class has not yet been
instantiated.SingletonException
- when the current value of isInstantiated is
true.public static java.lang.String generateHexString(java.util.Random rng, int length)
public static java.lang.String generateAlpaNumericString(java.util.Random rng, int length)
public static java.lang.String generatePrintableCharsString(java.util.Random rng, int length)
public static java.lang.String generateString(java.util.Random rng, java.lang.String characters, int length)
public static <E extends java.lang.Enum<E>> void unexpectedEnumValue(E enumValue)
public static java.lang.String getSimpleClassType(java.lang.Object o)
public static java.lang.String getSimpleClassType(java.lang.Object o, boolean allowNullOrEmpty)
public static java.lang.String getSimpleClassType(java.lang.String fullName)
public static java.lang.String getSimpleClassType(java.lang.String fullName, boolean allowNullOrEmpty)
public static boolean isDisabled(java.lang.String value)
public static void failOnNullOrEmpty(java.lang.String name, java.lang.String value)
public static boolean equals(java.lang.String s1, java.lang.String s2)
s1
- one strings2
- the other stringpublic static java.lang.String removeWhitespace(java.lang.String str)
public static java.lang.String compressWhitespace(java.lang.String str)
public static java.lang.String getStringBetween(java.lang.String str, char start, char end)
str
- String to processstart
- Starting delimiterend
- Ending delimiterstart
and end
or
null
if:
end
delimiter was found before the start
delimiterpublic static java.lang.String getStringBetween(java.lang.String str, java.lang.String startDelim, java.lang.String endDelim)
str
- String to processstartDelim
- Starting delimiterendDelim
- Ending delimiterstart
and end
or
null
if:
end
delimiter was found before the start
delimiterpublic static boolean isValidParentheses(java.lang.String value)
public static java.lang.String quoteString(java.lang.String s)
public static java.util.Map<java.lang.String,Pair<java.lang.String,java.lang.String>> tripletToMap(java.lang.String value, java.lang.String listDelim, java.lang.String tripletDelim)
public static java.util.Map<java.lang.String,java.util.List<java.lang.String>> quadrupletToMap(java.lang.String value, java.lang.String listDelim, java.lang.String tripletDelim)
public static <T> java.util.Set<T> getSetFromList(java.util.List<T> list, java.util.Comparator<T> comparator)
public static int extractDbIdFromUid(java.lang.String uid)
public static int extractSectionIdFromUid(java.lang.String uid)
public static java.lang.String preParseParameters(java.lang.String str)
@GwtIncompatible public static java.util.Map<java.lang.String,java.lang.String> parseStringIntoMap(java.lang.String data) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
@GwtIncompatible public static java.lang.String byteArrayToHexadecimalString(byte[] data)
@GwtIncompatible public static java.lang.String stackTraceToString(java.lang.Throwable t)
@GwtIncompatible public static java.lang.String instantToString(java.time.Instant instant)
@GwtIncompatible public static java.lang.String instantToString(java.time.Instant instant, java.time.ZoneId zid)
@GwtIncompatible public static java.lang.String instantToStringZulu(java.time.Instant instant)
@GwtIncompatible public static java.lang.String msToHMS(long ms)
@GwtIncompatible public static java.time.LocalDate getRandomDate(int startYear, int endYear)
@GwtIncompatible public static java.time.Instant getRandomInstant(java.lang.String timezone, int startYear, int endYear)
@GwtIncompatible public static java.util.UUID getUUID()
@GwtIncompatible public static java.lang.String getUUIDStr()
@GwtIncompatible public static void throwExceptionAfterDate(int year, int month, int day)
year
- the year you want the exception to be thrownmonth
- the month you want the exception to be thrown (January is 0, You can use Calendar.day
- the day you want the exception to be thrown@GwtIncompatible public static void throwExceptionAfterDate(java.time.Instant instant)