public class GenericUtils
extends java.lang.Object
| Constructor and Description |
|---|
GenericUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T> T |
castGenericType(java.lang.Object obj,
java.lang.Class<T> valType)
This attempts to cast a value stored as an object to a generic type.
|
static boolean |
isAnyType(java.lang.Class<?> clazz,
java.lang.Class<?>... classTypes)
Checks if the input class is assignable from any of the input class types
|
static boolean |
isInstanceAnyType(java.lang.Object obj,
java.lang.Class<?>... types)
Checks if the input value extends any of the input class types
|
static boolean |
isListAnyType(java.util.List<?> list,
java.lang.Class<?>... classTypes)
The list type can't be checked if it's empty, so it has to return false if that is the case.
|
static boolean |
isPrimitive(java.lang.Class<?> clazz)
Checks if the class is a primitive type.
|
static boolean |
isPrimitiveInstance(java.lang.Object obj)
Checks if the object is a primitive type.
|
static boolean |
matches(java.lang.Object value,
java.lang.Object other)
Runs non-strict equality rules.
|
static java.lang.Number |
numberAdd(java.lang.Number n1,
java.lang.Number n2) |
static java.lang.Number |
numberDiv(java.lang.Number n1,
java.lang.Number n2) |
static boolean |
numberMatches(java.lang.Number number,
java.lang.Object other) |
static java.lang.Number |
numberMul(java.lang.Number n1,
java.lang.Number n2) |
static java.lang.Number |
numberSub(java.lang.Number n1,
java.lang.Number n2) |
static java.lang.Object |
parseGenericFromTag(CompoundTagAPI<?> tag)
Assumes the value is stored as a string
|
static java.lang.Object |
parseGenericType(java.lang.String unparsed,
java.lang.Class<?> valType)
This only handles primitive types for the most part, so it may be better to just do whatever you want manually
|
static <N extends java.lang.Number> |
parseNumber(java.lang.String unparsed,
java.lang.Class<?> valType)
Luckily the parse methods for each number type all follow the same format, with a minor exception for parseInt.
|
static <N extends java.lang.Number> |
parseNumber(java.lang.String unparsed,
N defaultValue) |
static java.lang.Object |
parsePrimitive(java.lang.String unparsed,
java.lang.Class<?> valType) |
static void |
writeGenericToTag(CompoundTagAPI<?> tag,
java.lang.Object obj) |
public static <T> T castGenericType(@Nullable
java.lang.Object obj,
java.lang.Class<T> valType)
public static boolean isAnyType(java.lang.Class<?> clazz,
java.lang.Class<?>... classTypes)
public static boolean isInstanceAnyType(java.lang.Object obj,
java.lang.Class<?>... types)
public static boolean isListAnyType(java.util.List<?> list,
java.lang.Class<?>... classTypes)
public static boolean isPrimitive(java.lang.Class<?> clazz)
public static boolean isPrimitiveInstance(java.lang.Object obj)
public static boolean matches(@Nullable
java.lang.Object value,
@Nullable
java.lang.Object other)
public static java.lang.Number numberAdd(java.lang.Number n1,
java.lang.Number n2)
public static java.lang.Number numberDiv(java.lang.Number n1,
java.lang.Number n2)
public static boolean numberMatches(java.lang.Number number,
java.lang.Object other)
public static java.lang.Number numberMul(java.lang.Number n1,
java.lang.Number n2)
public static java.lang.Number numberSub(java.lang.Number n1,
java.lang.Number n2)
public static java.lang.Object parseGenericFromTag(CompoundTagAPI<?> tag)
public static java.lang.Object parseGenericType(java.lang.String unparsed,
java.lang.Class<?> valType)
public static <N extends java.lang.Number> N parseNumber(java.lang.String unparsed,
java.lang.Class<?> valType)
public static <N extends java.lang.Number> N parseNumber(java.lang.String unparsed,
N defaultValue)
public static java.lang.Object parsePrimitive(java.lang.String unparsed,
java.lang.Class<?> valType)
public static void writeGenericToTag(CompoundTagAPI<?> tag, java.lang.Object obj)