Package org.hibernate.processor.util
Class TypeUtils
- java.lang.Object
-
- org.hibernate.processor.util.TypeUtils
-
public final class TypeUtils extends Object
Utility class.
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_ANNOTATION_PARAMETER_NAMEstatic Set<String>PRIMITIVE_TYPES
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleancontainsAnnotation(Element element, String... annotations)static voiddetermineAccessTypeForHierarchy(TypeElement searchedElement, Context context)static @Nullable AccessTypedetermineAnnotationSpecifiedAccessType(Element element)static booleanextendsClass(TypeElement type, String className)static @Nullable TypeMirrorextractClosestRealType(TypeMirror type, Context context, Set<TypeVariable> beingVisited)static StringextractClosestRealTypeAsString(TypeMirror type, Context context)static @Nullable StringfindMappedSuperClass(Metamodel entity, Context context)static @Nullable AnnotationMirrorgetAnnotationMirror(Element element, String qualifiedName)Checks whether theElementhosts the annotation with the given fully qualified class name.static @Nullable AnnotationValuegetAnnotationValue(AnnotationMirror annotationMirror, String member)static TypeMirrorgetCollectionElementType(DeclaredType type, String returnTypeName, @Nullable String explicitTargetEntityName, Context context)static ElementKindgetElementKindForAccessType(AccessType accessType)static @Nullable StringgetFullyQualifiedClassNameOfTargetEntity(AnnotationMirror mirror, String member)static StringgetKeyType(DeclaredType type, Context context)static @Nullable TypeElementgetSuperclassTypeElement(TypeElement element)static @Nullable StringgetTargetEntity(List<? extends AnnotationMirror> annotations)static booleanhasAnnotation(Element element, String qualifiedName)static booleanhasAnnotation(Element element, String... qualifiedNames)static booleanimplementsInterface(TypeElement type, String interfaceName)static booleanisAnnotationMirrorOfType(AnnotationMirror annotationMirror, String qualifiedName)Returnstrueif the provided annotation type is of the same type as the provided class,falseotherwise.static booleanisBasicAttribute(Element element, Element returnedElement, Context context)static booleanisClassOrRecordType(Element element)static booleanisPrimitive(String paramType)static booleanisPropertyGetter(ExecutableType executable, Element element)static booleanprimitiveClassMatchesKind(Class<?> itemType, TypeKind kind)static StringpropertyName(AnnotationMetaEntity parent, Element element)static StringtoArrayTypeString(ArrayType type, Context context)static StringtoTypeString(TypeMirror type)
-
-
-
Field Detail
-
DEFAULT_ANNOTATION_PARAMETER_NAME
public static final String DEFAULT_ANNOTATION_PARAMETER_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
toTypeString
public static String toTypeString(TypeMirror type)
-
getSuperclassTypeElement
public static @Nullable TypeElement getSuperclassTypeElement(TypeElement element)
-
extractClosestRealTypeAsString
public static String extractClosestRealTypeAsString(TypeMirror type, Context context)
-
extractClosestRealType
public static @Nullable TypeMirror extractClosestRealType(TypeMirror type, Context context, Set<TypeVariable> beingVisited)
-
containsAnnotation
public static boolean containsAnnotation(Element element, String... annotations)
-
isAnnotationMirrorOfType
public static boolean isAnnotationMirrorOfType(AnnotationMirror annotationMirror, String qualifiedName)
Returnstrueif the provided annotation type is of the same type as the provided class,falseotherwise. This method uses the string class names for comparison. See also getting-class-values-from-annotations.- Parameters:
annotationMirror- The annotation mirrorqualifiedName- the fully qualified class name to check against- Returns:
trueif the provided annotation type is of the same type as the provided class,falseotherwise.
-
getAnnotationMirror
public static @Nullable AnnotationMirror getAnnotationMirror(Element element, String qualifiedName)
Checks whether theElementhosts the annotation with the given fully qualified class name.- Parameters:
element- the element to check for the hosted annotationqualifiedName- the fully qualified class name of the annotation to check for- Returns:
- the annotation mirror for the specified annotation class from the
Elementornullin case theTypeElementdoes not host the specified annotation.
-
getAnnotationValue
public static @Nullable AnnotationValue getAnnotationValue(AnnotationMirror annotationMirror, String member)
-
determineAccessTypeForHierarchy
public static void determineAccessTypeForHierarchy(TypeElement searchedElement, Context context)
-
getCollectionElementType
public static TypeMirror getCollectionElementType(DeclaredType type, String returnTypeName, @Nullable String explicitTargetEntityName, Context context)
-
determineAnnotationSpecifiedAccessType
public static @Nullable AccessType determineAnnotationSpecifiedAccessType(Element element)
-
getElementKindForAccessType
public static ElementKind getElementKindForAccessType(AccessType accessType)
-
getKeyType
public static String getKeyType(DeclaredType type, Context context)
-
isClassOrRecordType
public static boolean isClassOrRecordType(Element element)
-
primitiveClassMatchesKind
public static boolean primitiveClassMatchesKind(Class<?> itemType, TypeKind kind)
-
isPropertyGetter
public static boolean isPropertyGetter(ExecutableType executable, Element element)
-
isBasicAttribute
public static boolean isBasicAttribute(Element element, Element returnedElement, Context context)
-
getFullyQualifiedClassNameOfTargetEntity
public static @Nullable String getFullyQualifiedClassNameOfTargetEntity(AnnotationMirror mirror, String member)
-
getTargetEntity
public static @Nullable String getTargetEntity(List<? extends AnnotationMirror> annotations)
- Parameters:
annotations- list of annotation mirrors.- Returns:
- target entity class name as string or
nullif no targetEntity is here or if equals to void
-
propertyName
public static String propertyName(AnnotationMetaEntity parent, Element element)
-
findMappedSuperClass
public static @Nullable String findMappedSuperClass(Metamodel entity, Context context)
-
implementsInterface
public static boolean implementsInterface(TypeElement type, String interfaceName)
-
extendsClass
public static boolean extendsClass(TypeElement type, String className)
-
isPrimitive
public static boolean isPrimitive(String paramType)
-
-