Package org.openjdk.jmc.common.util
Class TypeHandling
- java.lang.Object
-
- org.openjdk.jmc.common.util.TypeHandling
-
public final class TypeHandling extends java.lang.ObjectHelper class to provide some formatting of type names.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringDOUBLE_NANprivate static java.lang.StringDOUBLE_NEGATIVE_INFINITYprivate static java.lang.StringFLOAT_NANprivate static java.lang.StringFLOAT_NEGATIVE_INFINITYprivate static java.util.HashMap<java.lang.String,java.lang.String>formalPrimitiveMapprivate static java.lang.StringINTEGER_MIN_VALUEprivate static java.lang.StringLONG_MIN_VALUEprivate static java.util.HashMap<java.lang.String,java.lang.Class<?>>primitiveNameToClassMapprivate static java.util.HashMap<java.lang.Class<?>,java.lang.Class<?>>primitiveToObjectClassMapprivate static java.lang.StringVALUE_COMPOSITE_DATAprivate static java.lang.StringVALUE_TABULAR_DATA
-
Constructor Summary
Constructors Modifier Constructor Description privateTypeHandling()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Tcast(java.lang.Object o, java.lang.Class<T> type)Check if an object is of a specified type and cast it to that if possible.private static java.lang.StringcreateSizeString(java.lang.String typeName, int size)static java.lang.Class<?>getClassWithName(java.lang.String name)Return the class object for given type name.static java.lang.StringgetNumericString(java.lang.Number value)Check for missing values, and return the numeric value in string format JMC-6256: JMC doesn't respect Long.MIN_VALUE as a missing value As per the bug report, the following values should be considered "missing" - Integer.MIN_VALUE - Long.MIN_VALUE - Double.NaN - Double.NEGATIVE_INFINITY - Float.NaN - Float.NEGATIVE_INFINITYstatic java.lang.StringgetValueString(java.lang.Object value)Returns the value in possible augmented way.static java.lang.StringgetVerboseString(java.lang.Object value)Returns a possibly more verbose description of an object.private static booleanisMaxTimespan(java.lang.Object value)private static booleanisMinTimespan(java.lang.Object value)static booleanisPrimitive(java.lang.String className)Check if a class name represents a primitive type or not.static java.lang.StringsimplifyType(java.lang.String typeName)Returns a simplified description of a type name.static java.lang.Class<?>toNonPrimitiveClass(java.lang.Class<?> primitiveClass)Return the non-primitive class corresponding to argument class (int -> Integer).
-
-
-
Field Detail
-
formalPrimitiveMap
private static final java.util.HashMap<java.lang.String,java.lang.String> formalPrimitiveMap
-
VALUE_COMPOSITE_DATA
private static final java.lang.String VALUE_COMPOSITE_DATA
- See Also:
- Constant Field Values
-
VALUE_TABULAR_DATA
private static final java.lang.String VALUE_TABULAR_DATA
- See Also:
- Constant Field Values
-
DOUBLE_NAN
private static final java.lang.String DOUBLE_NAN
- See Also:
- Constant Field Values
-
DOUBLE_NEGATIVE_INFINITY
private static final java.lang.String DOUBLE_NEGATIVE_INFINITY
- See Also:
- Constant Field Values
-
FLOAT_NAN
private static final java.lang.String FLOAT_NAN
- See Also:
- Constant Field Values
-
FLOAT_NEGATIVE_INFINITY
private static final java.lang.String FLOAT_NEGATIVE_INFINITY
- See Also:
- Constant Field Values
-
INTEGER_MIN_VALUE
private static final java.lang.String INTEGER_MIN_VALUE
- See Also:
- Constant Field Values
-
LONG_MIN_VALUE
private static final java.lang.String LONG_MIN_VALUE
- See Also:
- Constant Field Values
-
primitiveNameToClassMap
private static java.util.HashMap<java.lang.String,java.lang.Class<?>> primitiveNameToClassMap
-
primitiveToObjectClassMap
private static java.util.HashMap<java.lang.Class<?>,java.lang.Class<?>> primitiveToObjectClassMap
-
-
Method Detail
-
simplifyType
public static java.lang.String simplifyType(java.lang.String typeName)
Returns a simplified description of a type name. This involves transforming type names from their formal descriptors to more human friendly forms, removing package names from certain well-known classes, transforming formal array specified to square brackets etc.- Parameters:
typeName- a type name- Returns:
- a simplified description of the type name
-
createSizeString
private static java.lang.String createSizeString(java.lang.String typeName, int size)
-
getValueString
public static java.lang.String getValueString(java.lang.Object value)
Returns the value in possible augmented way. It could be viewed as an override of toString().- Parameters:
value- the value to textualize- Returns:
- the value as a string
-
getVerboseString
public static java.lang.String getVerboseString(java.lang.Object value)
Returns a possibly more verbose description of an object. This is similar togetValueString(Object), but can return longer texts.- Parameters:
value- the value to textualize- Returns:
- the value as a string
-
isMinTimespan
private static boolean isMinTimespan(java.lang.Object value)
-
isMaxTimespan
private static boolean isMaxTimespan(java.lang.Object value)
-
getNumericString
public static java.lang.String getNumericString(java.lang.Number value)
Check for missing values, and return the numeric value in string format JMC-6256: JMC doesn't respect Long.MIN_VALUE as a missing value As per the bug report, the following values should be considered "missing" - Integer.MIN_VALUE - Long.MIN_VALUE - Double.NaN - Double.NEGATIVE_INFINITY - Float.NaN - Float.NEGATIVE_INFINITY- Parameters:
value- the numeric value to be converted to a string- Returns:
- a string with the numeric value, or a N/A message
-
getClassWithName
public static java.lang.Class<?> getClassWithName(java.lang.String name) throws java.lang.ClassNotFoundExceptionReturn the class object for given type name.- Parameters:
name- the name of the type- Returns:
- the class object of the type
- Throws:
java.lang.ClassNotFoundException- if name is an invalid class name
-
toNonPrimitiveClass
public static java.lang.Class<?> toNonPrimitiveClass(java.lang.Class<?> primitiveClass)
Return the non-primitive class corresponding to argument class (int -> Integer).- Parameters:
primitiveClass- the class to convert- Returns:
- the non-primitive class or the argument class if non-primitive
-
isPrimitive
public static boolean isPrimitive(java.lang.String className)
Check if a class name represents a primitive type or not.- Parameters:
className- the name to check- Returns:
trueif the class name represents a primitive type,falseotherwise
-
cast
public static <T> T cast(java.lang.Object o, java.lang.Class<T> type)Check if an object is of a specified type and cast it to that if possible.- Parameters:
o- object to casttype- type to cast the object to- Returns:
- the object cast to the specified type if possible,
nullif not
-
-