Class Type
java.lang.Object
org.dominokit.jacksonapt.processor.Type
public class Type
extends java.lang.Object
Type class.
- Version:
- $Id: $Id
- Author:
- vegegoku
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBEAN_JSON_DESERIALIZER_IMPLConstantBEAN_JSON_DESERIALIZER_IMPL="BeanJsonDeserializerImpl"static java.lang.StringBEAN_JSON_SERIALIZER_IMPLConstantBEAN_JSON_SERIALIZER_IMPL="BeanJsonSerializerImpl" -
Constructor Summary
Constructors Constructor Description Type() -
Method Summary
Modifier and Type Method Description static javax.lang.model.type.TypeMirrorarrayComponentType(javax.lang.model.type.TypeMirror typeMirror)arrayComponentType.static javax.lang.model.type.TypeMirrordeepArrayComponentType(javax.lang.model.type.TypeMirror typeMirror)deepArrayComponentType.static java.lang.StringdeserializerName(java.lang.String packageName, javax.lang.model.type.TypeMirror beanType)Returns deserializer name for given typeMirror.static <A extends java.lang.annotation.Annotation>
AfindClassAnnotation(javax.lang.model.element.Element classElement, java.lang.Class<A> annotation)static java.util.Optional<javax.lang.model.type.TypeMirror>findClassValueFromClassAnnotation(javax.lang.model.element.Element classElement, java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String paramName)static javax.lang.model.type.TypeMirrorfirstTypeArgument(javax.lang.model.type.TypeMirror typeMirror)firstTypeArgument.static java.lang.StringgenerateDeserializer(javax.lang.model.type.TypeMirror typeMirror)Generate deserializer for given TypeMirror.static java.lang.StringgenerateSerializer(javax.lang.model.type.TypeMirror typeMirror)Generate serializer for given TypeMirror.static java.util.Optional<javax.lang.model.type.TypeMirror>getClassValueFromAnnotation(javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String paramName)static javax.lang.model.type.TypeMirrorgetDeclaredType(javax.lang.model.type.TypeMirror type, java.util.Map<? extends javax.lang.model.element.TypeParameterElement,? extends javax.lang.model.type.TypeMirror> parametersToArgumentsMap)Create TypeMirror for given generic type, with type parameters replaced by actual type arguments, specified in parametersToArgumentsMapstatic java.lang.StringgetPackage(javax.lang.model.type.TypeMirror typeMirror)Returns package name of given TypeMirror as String.static SubTypesInfogetSubTypes(javax.lang.model.type.TypeMirror type)Returns all subtypes described with @JsonSubInfo and @JsonSubType for given TypeMirrorstatic java.lang.StringgetTypeQualifiedName(javax.lang.model.type.TypeMirror typeMirror)static booleanhasTypeArgumentWithBoundedWildcards(javax.lang.model.type.TypeMirror type)Check if given type is generic class (and not being collection, iterable, enum or map) with type argument containing bounded wildcard.static booleanhasTypeParameter(javax.lang.model.type.TypeMirror type)Check if given TypeMirror has type parameter(s).static booleanhasUnboundedWildcards(javax.lang.model.type.TypeMirror type)Check if given type has type argument containing unbounded wildcardstatic booleanhasWildcards(javax.lang.model.type.TypeMirror type)Check if given TypeMirror has wildcardsstatic booleanis2dArray(javax.lang.model.type.TypeMirror typeMirror)is2dArray.static booleanisArray(javax.lang.model.type.TypeMirror typeMirror)isArray.static booleanisAssignableFrom(javax.lang.model.element.Element element, java.lang.Class<?> targetClass)static booleanisAssignableFrom(javax.lang.model.type.TypeMirror typeMirror, java.lang.Class<?> targetClass)isAssignableFrom.static booleanisBasicType(javax.lang.model.type.TypeMirror typeMirror)isBasicType.static booleanisCollection(javax.lang.model.type.TypeMirror typeMirror)isCollection.static booleanisEnum(javax.lang.model.type.TypeMirror typeMirror)isEnum.static booleanisGenericType(javax.lang.model.type.TypeMirror type)Check if given TypeMirror is a generic Java typestatic booleanisIterable(javax.lang.model.type.TypeMirror typeMirror)isIterable.static booleanisJsonMapper(javax.lang.model.type.TypeMirror typeMirror)static booleanisMap(javax.lang.model.type.TypeMirror typeMirror)isMap.static booleanisPrimitiveArray(javax.lang.model.type.TypeMirror typeMirror)isPrimitiveArray.static java.util.Optional<BeanIdentityInfo>processIdentity(javax.lang.model.type.TypeMirror beanType)processIdentitystatic javax.lang.model.type.TypeMirrorremoveOuterWildCards(javax.lang.model.type.TypeMirror type)If given type is bounded wildcard, remove the wildcard and returns extends bound if exists.static javax.lang.model.type.TypeMirrorsecondTypeArgument(javax.lang.model.type.TypeMirror typeMirror)secondTypeArgument.static java.lang.StringserializerName(java.lang.String packageName, javax.lang.model.type.TypeMirror beanType)Create serializer name for given packageName and beanType.static javax.lang.model.element.NamesimpleName(javax.lang.model.type.TypeMirror typeMirror)simpleName.static java.lang.StringstringifyType(javax.lang.model.type.TypeMirror type)Stringify given TypeMirror including generic arguments.static java.lang.StringstringifyTypeWithPackage(javax.lang.model.type.TypeMirror type)Stringify given TypeMirror including generic arguments and append package namestatic com.squareup.javapoet.TypeNamewrapperType(javax.lang.model.type.TypeMirror type)wrapperType.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
BEAN_JSON_SERIALIZER_IMPL
public static final java.lang.String BEAN_JSON_SERIALIZER_IMPLConstantBEAN_JSON_SERIALIZER_IMPL="BeanJsonSerializerImpl"- See Also:
- Constant Field Values
-
BEAN_JSON_DESERIALIZER_IMPL
public static final java.lang.String BEAN_JSON_DESERIALIZER_IMPLConstantBEAN_JSON_DESERIALIZER_IMPL="BeanJsonDeserializerImpl"- See Also:
- Constant Field Values
-
-
Constructor Details
-
Type
public Type()
-
-
Method Details
-
wrapperType
public static com.squareup.javapoet.TypeName wrapperType(javax.lang.model.type.TypeMirror type)wrapperType.
- Parameters:
type- aTypeMirrorobject.- Returns:
- a
TypeNameobject.
-
isPrimitiveArray
public static boolean isPrimitiveArray(javax.lang.model.type.TypeMirror typeMirror)isPrimitiveArray.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
isArray
public static boolean isArray(javax.lang.model.type.TypeMirror typeMirror)isArray.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
is2dArray
public static boolean is2dArray(javax.lang.model.type.TypeMirror typeMirror)is2dArray.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
arrayComponentType
public static javax.lang.model.type.TypeMirror arrayComponentType(javax.lang.model.type.TypeMirror typeMirror)arrayComponentType.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a
TypeMirrorobject.
-
deepArrayComponentType
public static javax.lang.model.type.TypeMirror deepArrayComponentType(javax.lang.model.type.TypeMirror typeMirror)deepArrayComponentType.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a
TypeMirrorobject.
-
isEnum
public static boolean isEnum(javax.lang.model.type.TypeMirror typeMirror)isEnum.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
isCollection
public static boolean isCollection(javax.lang.model.type.TypeMirror typeMirror)isCollection.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
isIterable
public static boolean isIterable(javax.lang.model.type.TypeMirror typeMirror)isIterable.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
isAssignableFrom
public static boolean isAssignableFrom(javax.lang.model.type.TypeMirror typeMirror, java.lang.Class<?> targetClass)isAssignableFrom.
- Parameters:
typeMirror- aTypeMirrorobject.targetClass- aClassobject.- Returns:
- a boolean.
-
isAssignableFrom
public static boolean isAssignableFrom(javax.lang.model.element.Element element, java.lang.Class<?> targetClass) -
isMap
public static boolean isMap(javax.lang.model.type.TypeMirror typeMirror)isMap.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
firstTypeArgument
public static javax.lang.model.type.TypeMirror firstTypeArgument(javax.lang.model.type.TypeMirror typeMirror)firstTypeArgument.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a
TypeMirrorobject.
-
secondTypeArgument
public static javax.lang.model.type.TypeMirror secondTypeArgument(javax.lang.model.type.TypeMirror typeMirror)secondTypeArgument.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a
TypeMirrorobject.
-
isBasicType
public static boolean isBasicType(javax.lang.model.type.TypeMirror typeMirror)isBasicType.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a boolean.
-
getPackage
public static java.lang.String getPackage(javax.lang.model.type.TypeMirror typeMirror)Returns package name of given TypeMirror as String. For primitive types, returns emtpy string- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a
Stringobject.
-
simpleName
public static javax.lang.model.element.Name simpleName(javax.lang.model.type.TypeMirror typeMirror)simpleName.
- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a
Nameobject.
-
serializerName
public static java.lang.String serializerName(java.lang.String packageName, javax.lang.model.type.TypeMirror beanType)Create serializer name for given packageName and beanType. Package name for corresponding serializer is prepended to the result.- Parameters:
packageName- aStringobject.beanType-TypeMirrorobject- Returns:
- fully-qualified serializer class name
-
deserializerName
public static java.lang.String deserializerName(java.lang.String packageName, javax.lang.model.type.TypeMirror beanType)Returns deserializer name for given typeMirror. Package name for corresponding deserializer is prepended to the result.- Parameters:
packageName- aStringobject.beanType- aTypeMirrorobject- Returns:
- fully qualified deserializer name
-
stringifyTypeWithPackage
public static java.lang.String stringifyTypeWithPackage(javax.lang.model.type.TypeMirror type)Stringify given TypeMirror including generic arguments and append package name- Parameters:
type- aTypeMirrorobject- Returns:
- a
Stringcontaining string representation of given TypeMirror
-
stringifyType
public static java.lang.String stringifyType(javax.lang.model.type.TypeMirror type)Stringify given TypeMirror including generic arguments. Package of the TypeMirror is not prepended to the result.- Parameters:
type- aTypeMirrorobject- Returns:
- a
Stringcontaining string representation of given TypeMirror
-
generateDeserializer
public static java.lang.String generateDeserializer(javax.lang.model.type.TypeMirror typeMirror)Generate deserializer for given TypeMirror. Deserializer is situated in the specified package.- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a fully qualified deserializer name
-
generateSerializer
public static java.lang.String generateSerializer(javax.lang.model.type.TypeMirror typeMirror)Generate serializer for given TypeMirror. Serializer is situated in the specified package.- Parameters:
typeMirror- aTypeMirrorobject.- Returns:
- a fully qualified serializer name
-
removeOuterWildCards
public static javax.lang.model.type.TypeMirror removeOuterWildCards(javax.lang.model.type.TypeMirror type)If given type is bounded wildcard, remove the wildcard and returns extends bound if exists. If extends bounds is non existing - return the super bound.If given type is not wildcard, returns type.
- Parameters:
type- TypeMirror to be processed- Returns:
- extends or super bounds for given wildcard type
-
hasWildcards
public static boolean hasWildcards(javax.lang.model.type.TypeMirror type)Check if given TypeMirror has wildcards- Parameters:
type-TypeMirrorto be checked- Returns:
- true if given TypeMirror has wildcards
-
isGenericType
public static boolean isGenericType(javax.lang.model.type.TypeMirror type)Check if given TypeMirror is a generic Java type- Parameters:
type-TypeMirrorto be checked- Returns:
- true if given TypeMirror is a generic type
-
hasTypeParameter
public static boolean hasTypeParameter(javax.lang.model.type.TypeMirror type)Check if given TypeMirror has type parameter(s).- Parameters:
type-TypeMirrorobject to be checked- Returns:
- true if given TypeMirror has type parameter(s)
-
getSubTypes
Returns all subtypes described with @JsonSubInfo and @JsonSubType for given TypeMirror- Parameters:
type-TypeMirrorto be inspected for subtypes- Returns:
- SubTypesInfo object containing information for subtypes
-
getDeclaredType
public static javax.lang.model.type.TypeMirror getDeclaredType(javax.lang.model.type.TypeMirror type, java.util.Map<? extends javax.lang.model.element.TypeParameterElement,? extends javax.lang.model.type.TypeMirror> parametersToArgumentsMap)Create TypeMirror for given generic type, with type parameters replaced by actual type arguments, specified in parametersToArgumentsMap- Parameters:
type- TypeMirror to be processedparametersToArgumentsMap- mapping type parameter elements to types- Returns:
- TypeMirror having type parameters replaced by actual type arguments
-
hasUnboundedWildcards
public static boolean hasUnboundedWildcards(javax.lang.model.type.TypeMirror type)Check if given type has type argument containing unbounded wildcard- Parameters:
type-TypeMirrorto be checked- Returns:
- true if given type has type argument containing unbounded wildcard
-
hasTypeArgumentWithBoundedWildcards
public static boolean hasTypeArgumentWithBoundedWildcards(javax.lang.model.type.TypeMirror type)Check if given type is generic class (and not being collection, iterable, enum or map) with type argument containing bounded wildcard.All type parameters of the type needs to be resolved to actual type arguments prior calling this method. Note that presence of type parameter causes RuntimeException.
- Parameters:
type-TypeMirrorto be checked.- Returns:
- true of type is generic class with type argument containing bounded wildcards
-
isJsonMapper
public static boolean isJsonMapper(javax.lang.model.type.TypeMirror typeMirror) -
findClassAnnotation
public static <A extends java.lang.annotation.Annotation> A findClassAnnotation(javax.lang.model.element.Element classElement, java.lang.Class<A> annotation) -
findClassValueFromClassAnnotation
public static java.util.Optional<javax.lang.model.type.TypeMirror> findClassValueFromClassAnnotation(javax.lang.model.element.Element classElement, java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String paramName) -
getClassValueFromAnnotation
public static java.util.Optional<javax.lang.model.type.TypeMirror> getClassValueFromAnnotation(javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> annotation, java.lang.String paramName) -
processIdentity
public static java.util.Optional<BeanIdentityInfo> processIdentity(javax.lang.model.type.TypeMirror beanType)processIdentity
- Parameters:
beanType- aTypeMirrorobject.
-
getTypeQualifiedName
public static java.lang.String getTypeQualifiedName(javax.lang.model.type.TypeMirror typeMirror)
-