package io.quarkus.hibernate.orm.deployment;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.hibernate.annotations.AnyMetaDef;
import org.hibernate.annotations.AnyMetaDefs;
import org.hibernate.annotations.FetchProfile;
import org.hibernate.annotations.FetchProfiles;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.FilterDefs;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.GenericGenerators;
import org.hibernate.annotations.ListIndexBase;
import org.hibernate.annotations.NamedNativeQueries;
import org.hibernate.annotations.NamedNativeQuery;
import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.jboss.jandex.DotName;

public final class HibernateOrmAnnotations {

    private HibernateOrmAnnotations() {
    }

    public static final List<DotName> PACKAGE_ANNOTATIONS = Collections.unmodifiableList(Arrays.asList(
            DotName.createSimple(AnyMetaDef.class.getName()),
            DotName.createSimple(AnyMetaDefs.class.getName()),
            DotName.createSimple(FetchProfile.class.getName()),
            DotName.createSimple(FetchProfile.FetchOverride.class.getName()),
            DotName.createSimple(FetchProfiles.class.getName()),
            DotName.createSimple(FilterDef.class.getName()),
            DotName.createSimple(FilterDefs.class.getName()),
            DotName.createSimple(GenericGenerator.class.getName()),
            DotName.createSimple(GenericGenerators.class.getName()),
            DotName.createSimple(ListIndexBase.class.getName()),
            DotName.createSimple(NamedNativeQueries.class.getName()),
            DotName.createSimple(NamedNativeQuery.class.getName()),
            DotName.createSimple(NamedQueries.class.getName()),
            DotName.createSimple(NamedQuery.class.getName()),
            DotName.createSimple(TypeDef.class.getName()),
            DotName.createSimple(TypeDefs.class.getName())));
}

@@ -122,715 +122,8 @@
 t;%0A%0A
-import org.hibernate.annotations.AnyMetaDef;%0Aimport org.hibernate.annotations.AnyMetaDefs;%0Aimport org.hibernate.annotations.FetchProfile;%0Aimport org.hibernate.annotations.FetchProfiles;%0Aimport org.hibernate.annotations.FilterDef;%0Aimport org.hibernate.annotations.FilterDefs;%0Aimport org.hibernate.annotations.GenericGenerator;%0Aimport org.hibernate.annotations.GenericGenerators;%0Aimport org.hibernate.annotations.ListIndexBase;%0Aimport org.hibernate.annotations.NamedNativeQueries;%0Aimport org.hibernate.annotations.NamedNativeQuery;%0Aimport org.hibernate.annotations.NamedQueries;%0Aimport org.hibernate.annotations.NamedQuery;%0Aimport org.hibernate.annotations.TypeDef;%0Aimport org.hibernate.annotations.TypeDefs;%0A
 impo
@@ -386,161 +386,197 @@
 ple(
-AnyMetaDef.class.getName()),%0A            DotName.createSimple(AnyMetaDefs.class.getName()),%0A            DotName.createSimple(FetchProfile.class.getName()
+%22org.hibernate.annotations.AnyMetaDef%22),%0A            DotName.createSimple(%22org.hibernate.annotations.AnyMetaDefs%22),%0A            DotName.createSimple(%22org.hibernate.annotations.FetchProfile%22
 ),%0A 
@@ -599,32 +599,59 @@
 me.createSimple(
+%22org.hibernate.annotations.
 FetchProfile.Fet
@@ -646,17 +646,17 @@
 hProfile
-.
+$
 FetchOve
@@ -660,32 +660,17 @@
 Override
-.class.getName()
+%22
 ),%0A     
@@ -701,228 +701,276 @@
 ple(
-FetchProfiles.class.getName()),%0A            DotName.createSimple(FilterDef.class.getName()),%0A            DotName.createSimple(FilterDefs.class.getName()),%0A            DotName.createSimple(GenericGenerator.class.getName()
+%22org.hibernate.annotations.FetchProfiles%22),%0A            DotName.createSimple(%22org.hibernate.annotations.FilterDef%22),%0A            DotName.createSimple(%22org.hibernate.annotations.FilterDefs%22),%0A            DotName.createSimple(%22org.hibernate.annotations.GenericGenerator%22
 ),%0A 
@@ -1001,16 +1001,43 @@
 eSimple(
+%22org.hibernate.annotations.
 GenericG
@@ -1045,32 +1045,17 @@
 nerators
-.class.getName()
+%22
 ),%0A     
@@ -1086,37 +1086,49 @@
 ple(
-ListIndexBase.class.getName()
+%22org.hibernate.annotations.ListIndexBase%22
 ),%0A 
@@ -1151,32 +1151,59 @@
 me.createSimple(
+%22org.hibernate.annotations.
 NamedNativeQueri
@@ -1204,32 +1204,17 @@
 eQueries
-.class.getName()
+%22
 ),%0A     
@@ -1245,166 +1245,202 @@
 ple(
-NamedNativeQuery.class.getName()),%0A            DotName.createSimple(NamedQueries.class.getName()),%0A            DotName.createSimple(NamedQuery.class.getName()
+%22org.hibernate.annotations.NamedNativeQuery%22),%0A            DotName.createSimple(%22org.hibernate.annotations.NamedQueries%22),%0A            DotName.createSimple(%22org.hibernate.annotations.NamedQuery%22
 ),%0A 
@@ -1475,31 +1475,43 @@
 ple(
-TypeDef.class.getName()
+%22org.hibernate.annotations.TypeDef%22
 ),%0A 
@@ -1546,32 +1546,44 @@
 ple(
-TypeDefs.class.getName()
+%22org.hibernate.annotations.TypeDefs%22
 )));

Update constants in HibernateOrmAnnotations