Package io.microsphere.reflect
Class JavaType
- java.lang.Object
-
- io.microsphere.reflect.JavaType
-
- All Implemented Interfaces:
java.io.Serializable
public class JavaType extends java.lang.Object implements java.io.SerializableEncapsulates a Java Type(Immutable), providing the features:- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
Type, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJavaType.KindThe kind of Java type
-
Field Summary
Fields Modifier and Type Field Description static JavaType[]EMPTY_JAVA_TYPE_ARRAYstatic JavaTypeNULL_JAVA_TYPEstatic JavaTypeOBJECT_JAVA_TYPE
-
Constructor Summary
Constructors Modifier Constructor Description protectedJavaType(java.lang.reflect.Type type)protectedJavaType(java.lang.reflect.Type type, JavaType source)protectedJavaType(java.lang.reflect.Type type, JavaType.Kind kind)protectedJavaType(java.lang.reflect.Type type, JavaType.Kind kind, JavaType source)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JavaTypeas(java.lang.Class<?> targetClass)Get the JavaType presenting the target classbooleanequals(java.lang.Object o)static JavaTypefrom(java.lang.Class<?> targetClass)static JavaTypefrom(java.lang.reflect.Field field)static JavaTypefrom(java.lang.reflect.Type type)protected static JavaType[]from(java.lang.reflect.Type[] types)protected static JavaType[]from(java.lang.reflect.Type[] types, JavaType source)protected static JavaTypefrom(java.lang.reflect.Type type, JavaType source)protected static JavaTypefrom(java.lang.reflect.Type type, JavaType.Kind kind)protected static JavaTypefrom(java.lang.reflect.Type type, JavaType.Kind kind, JavaType source)static JavaTypefromMethodParameter(java.lang.reflect.Method method, int parameterIndex)static JavaType[]fromMethodParameters(java.lang.reflect.Method method)static JavaTypefromMethodReturnType(java.lang.reflect.Method method)JavaTypegetGenericType(int genericTypeIndex)JavaType[]getGenericTypes()JavaTypegetInterface(int interfaceIndex)JavaType[]getInterfaces()JavaType.KindgetKind()java.lang.reflect.TypegetRawType()JavaTypegetRootSource()JavaTypegetSource()JavaTypegetSuperType()java.lang.reflect.TypegetType()inthashCode()booleanisClass()booleanisGenericArrayType()booleanisParameterizedType()booleanisRootSource()booleanisSource()booleanisTypeVariable()booleanisUnknownType()booleanisWildCardType()protected JavaType[]resolveGenericTypes()protected JavaType[]resolveInterfaces()protected JavaTyperesolveSuperType()<T> java.lang.Class<T>toClass()java.lang.reflect.GenericArrayTypetoGenericArrayType()java.lang.reflect.ParameterizedTypetoParameterizedType()java.lang.StringtoString()java.lang.reflect.TypeVariabletoTypeVariable()java.lang.reflect.WildcardTypetoWildcardType()
-
-
-
Constructor Detail
-
JavaType
protected JavaType(java.lang.reflect.Type type)
-
JavaType
protected JavaType(java.lang.reflect.Type type, JavaType.Kind kind)
-
JavaType
protected JavaType(java.lang.reflect.Type type, JavaType source)
-
JavaType
protected JavaType(java.lang.reflect.Type type, JavaType.Kind kind, JavaType source)
-
-
Method Detail
-
getType
@Nonnull public java.lang.reflect.Type getType()
-
getKind
@Nonnull public JavaType.Kind getKind()
-
getRawType
@Nullable public java.lang.reflect.Type getRawType()
-
resolveSuperType
protected JavaType resolveSuperType()
-
resolveInterfaces
protected JavaType[] resolveInterfaces()
-
getInterface
@Nonnull public JavaType getInterface(int interfaceIndex) throws java.lang.IndexOutOfBoundsException
- Throws:
java.lang.IndexOutOfBoundsException
-
getGenericType
@Nonnull public JavaType getGenericType(int genericTypeIndex) throws java.lang.IndexOutOfBoundsException
- Throws:
java.lang.IndexOutOfBoundsException
-
as
@Nullable public JavaType as(java.lang.Class<?> targetClass)
Get the JavaType presenting the target class- Parameters:
targetClass- the target class- Returns:
nullif can't cast to the target class
-
toClass
@Nullable public <T> java.lang.Class<T> toClass()
-
toParameterizedType
@Nullable public java.lang.reflect.ParameterizedType toParameterizedType()
-
toTypeVariable
@Nullable public java.lang.reflect.TypeVariable toTypeVariable()
-
toWildcardType
@Nullable public java.lang.reflect.WildcardType toWildcardType()
-
toGenericArrayType
@Nullable public java.lang.reflect.GenericArrayType toGenericArrayType()
-
isSource
public boolean isSource()
-
isRootSource
public boolean isRootSource()
-
isClass
public boolean isClass()
-
isParameterizedType
public boolean isParameterizedType()
-
isTypeVariable
public boolean isTypeVariable()
-
isWildCardType
public boolean isWildCardType()
-
isGenericArrayType
public boolean isGenericArrayType()
-
isUnknownType
public boolean isUnknownType()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
fromMethodReturnType
@Nonnull public static JavaType fromMethodReturnType(java.lang.reflect.Method method)
-
fromMethodParameters
@Nonnull public static JavaType[] fromMethodParameters(java.lang.reflect.Method method)
-
fromMethodParameter
@Nonnull public static JavaType fromMethodParameter(java.lang.reflect.Method method, int parameterIndex)
-
from
@Nonnull protected static JavaType from(java.lang.reflect.Type type, JavaType.Kind kind)
-
from
@Nonnull protected static JavaType from(java.lang.reflect.Type type, JavaType.Kind kind, JavaType source)
-
-