Package org.jboss.classfilewriter.util
Class Signatures
- java.lang.Object
-
- org.jboss.classfilewriter.util.Signatures
-
public final class Signatures extends java.lang.Object
Encode signatures that use types outside the type system of the Java Virtual Machine. See also the JVM spec, section "4.7.9.1. Signatures". If anything goes wrong during encoding aRuntimeException
is thrown.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static char
COLON
(package private) static char
SEMICOLON
(package private) static char
TYPE_PARAM_DEL_END
(package private) static char
TYPE_PARAM_DEL_START
(package private) static char
WILDCARD_LOWER_BOUND
(package private) static char
WILDCARD_NO_BOUND
(package private) static char
WILDCARD_UPPER_BOUND
-
Constructor Summary
Constructors Modifier Constructor Description private
Signatures()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
classTypeBase(java.lang.String className)
ClassTypeSignature baseprivate static java.lang.String
encodeClassName(java.lang.String className)
private static <T> java.lang.Class<T>
getBound(java.lang.reflect.Type[] bounds)
private static <T> java.lang.Class<T>
getTypeParamBoundRawType(java.lang.reflect.Type type)
private static void
javaType(java.lang.reflect.Type type, java.lang.StringBuilder builder)
JavaTypeSignaturestatic java.lang.String
methodSignature(java.lang.reflect.Method method)
private static void
nonGenericType(java.lang.Class<?> clazz, java.lang.StringBuilder builder)
BaseType, ClassTypeSignature or ArrayTypeSignatureprivate static void
parameterizedType(java.lang.reflect.ParameterizedType parameterizedType, java.lang.StringBuilder builder)
private static void
typeParameter(java.lang.reflect.TypeVariable<?> typeVariable, java.lang.StringBuilder builder)
TypeParameterprivate static void
typeVariable(java.lang.reflect.TypeVariable<?> typeVariable, java.lang.StringBuilder builder)
private static void
wildcardType(java.lang.reflect.WildcardType wildcard, java.lang.StringBuilder builder)
Note that Java language does not support more than one upper/lower bound.
-
-
-
Field Detail
-
WILDCARD_UPPER_BOUND
static final char WILDCARD_UPPER_BOUND
- See Also:
- Constant Field Values
-
WILDCARD_LOWER_BOUND
static final char WILDCARD_LOWER_BOUND
- See Also:
- Constant Field Values
-
WILDCARD_NO_BOUND
static final char WILDCARD_NO_BOUND
- See Also:
- Constant Field Values
-
TYPE_PARAM_DEL_START
static final char TYPE_PARAM_DEL_START
- See Also:
- Constant Field Values
-
TYPE_PARAM_DEL_END
static final char TYPE_PARAM_DEL_END
- See Also:
- Constant Field Values
-
SEMICOLON
static final char SEMICOLON
- See Also:
- Constant Field Values
-
COLON
static final char COLON
- See Also:
- Constant Field Values
-
-
Method Detail
-
methodSignature
public static java.lang.String methodSignature(java.lang.reflect.Method method)
- Parameters:
method
-- Returns:
- the JVM method signature
-
typeParameter
private static void typeParameter(java.lang.reflect.TypeVariable<?> typeVariable, java.lang.StringBuilder builder)
TypeParameter- Parameters:
typeVariable
-builder
-
-
javaType
private static void javaType(java.lang.reflect.Type type, java.lang.StringBuilder builder)
JavaTypeSignature- Parameters:
type
-builder
-
-
wildcardType
private static void wildcardType(java.lang.reflect.WildcardType wildcard, java.lang.StringBuilder builder)
Note that Java language does not support more than one upper/lower bound.- Parameters:
wildcard
-builder
-
-
typeVariable
private static void typeVariable(java.lang.reflect.TypeVariable<?> typeVariable, java.lang.StringBuilder builder)
-
parameterizedType
private static void parameterizedType(java.lang.reflect.ParameterizedType parameterizedType, java.lang.StringBuilder builder)
-
nonGenericType
private static void nonGenericType(java.lang.Class<?> clazz, java.lang.StringBuilder builder)
BaseType, ClassTypeSignature or ArrayTypeSignature- Parameters:
clazz
-
-
classTypeBase
private static java.lang.String classTypeBase(java.lang.String className)
ClassTypeSignature base- Parameters:
clazz
-builder
-
-
encodeClassName
private static java.lang.String encodeClassName(java.lang.String className)
-
getTypeParamBoundRawType
private static <T> java.lang.Class<T> getTypeParamBoundRawType(java.lang.reflect.Type type)
-
getBound
private static <T> java.lang.Class<T> getBound(java.lang.reflect.Type[] bounds)
-
-