diff --git a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/JPAMetaModelEntityProcessor.java b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/JPAMetaModelEntityProcessor.java index cb713288a3eb..30ce43241fae 100644 --- a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/JPAMetaModelEntityProcessor.java +++ b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/JPAMetaModelEntityProcessor.java @@ -6,7 +6,7 @@ */ package org.hibernate.jpamodelgen; -import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; @@ -67,6 +67,7 @@ public class JPAMetaModelEntityProcessor extends AbstractProcessor { public static final String ADD_SUPPRESS_WARNINGS_ANNOTATION = "addSuppressWarningsAnnotation"; private static final Boolean ALLOW_OTHER_PROCESSORS_TO_CLAIM_ANNOTATIONS = Boolean.FALSE; + private static final List HANDLED_ELEMENT_KINDS = Arrays.asList("CLASS", "RECORD"); private Context context; @@ -221,7 +222,7 @@ private boolean isJPAEntity(Element element) { private void handleRootElementAnnotationMirrors(final Element element) { List annotationMirrors = element.getAnnotationMirrors(); for ( AnnotationMirror mirror : annotationMirrors ) { - if ( !ElementKind.CLASS.equals( element.getKind() ) ) { + if ( !HANDLED_ELEMENT_KINDS.contains( element.getKind().name() ) ) { continue; } diff --git a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/annotation/MetaAttributeGenerationVisitor.java b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/annotation/MetaAttributeGenerationVisitor.java index d9f04df947ea..8f6de1e0d7be 100644 --- a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/annotation/MetaAttributeGenerationVisitor.java +++ b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/annotation/MetaAttributeGenerationVisitor.java @@ -6,6 +6,7 @@ */ package org.hibernate.jpamodelgen.annotation; +import java.util.Arrays; import java.util.List; import javax.lang.model.element.AnnotationMirror; import javax.lang.model.element.Element; @@ -288,6 +289,8 @@ private String getFullyQualifiedClassNameOfTargetEntity(AnnotationMirror mirror, */ class BasicAttributeVisitor extends SimpleTypeVisitor6 { + private static final List HANDLED_ELEMENT_KINDS = Arrays.asList("CLASS", "INTERFACE", "RECORD"); + private final Context context; public BasicAttributeVisitor(Context context) { @@ -313,7 +316,7 @@ public Boolean visitDeclared(DeclaredType declaredType, Element element) { return Boolean.TRUE; } - if ( ElementKind.CLASS.equals( element.getKind() ) || ElementKind.INTERFACE.equals( element.getKind() ) ) { + if ( HANDLED_ELEMENT_KINDS.contains( element.getKind().name() ) ) { TypeElement typeElement = ( (TypeElement) element ); String typeName = typeElement.getQualifiedName().toString(); if ( Constants.BASIC_TYPES.contains( typeName ) ) {