From 615a5f392a17fcb92f89a104ce6fc8304d7fb653 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Mon, 14 Apr 2025 14:22:17 -0500 Subject: [PATCH] #125 - Consolidate SourceModelContext and SourceModelBuildingContext --- .../bytebuddy/internal/ByteBuddyBuilders.java | 155 +----------- .../internal/ByteBuddyContextProvider.java | 14 +- ...l.java => ByteBuddyModelsContextImpl.java} | 43 +--- .../internal/ClassDetailsBuilderImpl.java | 6 +- .../bytebuddy/internal/ClassDetailsImpl.java | 21 +- .../internal/ClassDetailsRegistryImpl.java | 2 +- .../bytebuddy/internal/FieldDetailsImpl.java | 4 +- .../bytebuddy/internal/MethodDetailsImpl.java | 4 +- .../internal/RecordComponentDetailsImpl.java | 4 +- .../internal/TypeSwitchStandard.java | 50 ++-- .../values/AbstractValueExtractor.java | 8 +- .../internal/values/ArrayValueConverter.java | 22 +- .../internal/values/ArrayValueExtractor.java | 6 +- .../values/BooleanValueConverter.java | 4 +- .../values/BooleanValueExtractor.java | 6 +- .../internal/values/ByteValueConverter.java | 4 +- .../internal/values/ByteValueExtractor.java | 6 +- .../values/CharacterValueConverter.java | 4 +- .../values/CharacterValueExtractor.java | 6 +- .../internal/values/ClassValueConverter.java | 4 +- .../internal/values/ClassValueExtractor.java | 6 +- .../internal/values/DoubleValueConverter.java | 5 +- .../internal/values/DoubleValueExtractor.java | 6 +- .../internal/values/EnumValueConverter.java | 4 +- .../internal/values/EnumValueExtractor.java | 6 +- .../internal/values/FloatValueConverter.java | 4 +- .../internal/values/FloatValueExtractor.java | 6 +- .../values/IntegerValueConverter.java | 4 +- .../values/IntegerValueExtractor.java | 6 +- .../internal/values/LongValueConverter.java | 4 +- .../internal/values/LongValueExtractor.java | 6 +- .../internal/values/NestedValueConverter.java | 4 +- .../internal/values/NestedValueExtractor.java | 6 +- .../internal/values/ShortValueConverter.java | 4 +- .../internal/values/ShortValueExtractor.java | 6 +- .../internal/values/StringValueConverter.java | 4 +- .../internal/values/StringValueExtractor.java | 6 +- .../bytebuddy/spi/ByteBuddyModelsContext.java | 7 +- .../models/bytebuddy/spi/TypeSwitch.java | 20 +- .../models/bytebuddy/spi/TypeSwitcher.java | 24 +- .../models/bytebuddy/spi/ValueConverter.java | 4 +- .../models/bytebuddy/spi/ValueExtractor.java | 6 +- ...ibernate.models.spi.ModelsContextProvider} | 0 ...ava => ByteBuddyModelsContextFactory.java} | 10 +- .../models/testing/tests/ProviderTests.java | 22 +- ....models.testing.intg.ModelsContextFactory} | 2 +- .../internal/AbstractAnnotationTarget.java | 8 +- .../internal/AnnotationUsageBuilder.java | 22 +- .../JandexAnnotationDescriptorRegistry.java | 8 +- .../jandex/internal/JandexBuilders.java | 28 +-- .../jandex/internal/JandexClassDetails.java | 23 +- .../JandexClassDetailsBuilderImpl.java | 9 +- .../internal/JandexClassDetailsRegistry.java | 5 +- .../jandex/internal/JandexFieldDetails.java | 11 +- .../jandex/internal/JandexMethodDetails.java | 11 +- ...Impl.java => JandexModelsContextImpl.java} | 12 +- ....java => JandexModelsContextProvider.java} | 18 +- .../JandexRecordComponentDetails.java | 11 +- .../internal/JandexTypeSwitchStandard.java | 50 ++-- .../jandex/internal/JandexValueHelper.java | 71 ------ .../values/AbstractValueExtractor.java | 16 +- .../internal/values/ArrayValueConverter.java | 8 +- .../internal/values/ArrayValueExtractor.java | 6 +- .../values/BooleanValueConverter.java | 4 +- .../values/BooleanValueExtractor.java | 6 +- .../internal/values/ByteValueConverter.java | 4 +- .../internal/values/ByteValueExtractor.java | 6 +- .../values/CharacterValueConverter.java | 4 +- .../values/CharacterValueExtractor.java | 6 +- .../internal/values/ClassValueConverter.java | 4 +- .../internal/values/ClassValueExtractor.java | 6 +- .../internal/values/DoubleValueConverter.java | 4 +- .../internal/values/DoubleValueExtractor.java | 6 +- .../internal/values/EnumValueConverter.java | 4 +- .../internal/values/EnumValueExtractor.java | 6 +- .../internal/values/FloatValueConverter.java | 4 +- .../internal/values/FloatValueExtractor.java | 6 +- .../values/IntegerValueConverter.java | 4 +- .../values/IntegerValueExtractor.java | 6 +- .../values/JandexNestedValueConverter.java | 4 +- .../values/JandexNestedValueExtractor.java | 6 +- .../internal/values/LongValueConverter.java | 4 +- .../internal/values/LongValueExtractor.java | 6 +- .../internal/values/ShortValueConverter.java | 4 +- .../internal/values/ShortValueExtractor.java | 6 +- .../internal/values/StringValueConverter.java | 4 +- .../internal/values/StringValueExtractor.java | 6 +- ...lContext.java => JandexModelsContext.java} | 7 +- .../models/jandex/spi/JandexTypeSwitch.java | 20 +- .../models/jandex/spi/JandexTypeSwitcher.java | 4 +- .../jandex/spi/JandexValueConverter.java | 4 +- .../jandex/spi/JandexValueExtractor.java | 6 +- ...ibernate.models.spi.ModelsContextProvider} | 2 +- ...va => JandexModelsContextFactoryImpl.java} | 12 +- .../models/testing/tests/ProviderTests.java | 24 +- ...te.models.testing.intg.ModelContextFactory | 1 - ...e.models.testing.intg.ModelsContextFactory | 1 + .../testing/intg/ModelContextFactory.java | 18 -- .../testing/intg/ModelsContextFactory.java | 21 ++ .../models/testing/orm/BasicAnnotation.java | 8 +- .../testing/orm/CacheableAnnotation.java | 8 +- .../orm/CheckConstraintAnnotation.java | 8 +- .../orm/CollectionTableAnnotation.java | 9 +- .../models/testing/orm/ColumnAnnotation.java | 8 +- .../orm/ElementCollectionJpaAnnotation.java | 9 +- .../testing/orm/EmbeddableAnnotation.java | 32 +++ .../testing/orm/EmbeddedAnnotation.java | 32 +++ .../models/testing/orm/EntityAnnotation.java | 8 +- .../testing/orm/ForeignKeyAnnotation.java | 8 +- .../models/testing/orm/IdAnnotation.java | 8 +- .../models/testing/orm/IndexAnnotation.java | 8 +- .../testing/orm/JoinColumnAnnotation.java | 9 +- .../testing/orm/JoinColumnsAnnotation.java | 9 +- .../models/testing/orm/JpaAnnotations.java | 4 + .../orm/NamedNativeQueriesAnnotation.java | 8 +- .../orm/NamedNativeQueryAnnotation.java | 8 +- .../testing/orm/NamedQueriesAnnotation.java | 8 +- .../testing/orm/NamedQueryAnnotation.java | 8 +- .../PrimaryKeyJoinColumnJpaAnnotation.java | 8 +- .../PrimaryKeyJoinColumnsJpaAnnotation.java | 8 +- .../testing/orm/SecondaryTableAnnotation.java | 8 +- .../orm/SecondaryTablesAnnotation.java | 8 +- .../orm/SequenceGeneratorAnnotation.java | 8 +- .../orm/SequenceGeneratorsAnnotation.java | 8 +- .../models/testing/orm/TableAnnotation.java | 8 +- .../testing/orm/TransientAnnotation.java | 8 +- .../orm/UniqueConstraintAnnotation.java | 8 +- .../models/DynamicClassException.java | 8 +- .../AbstractAnnotationDescriptor.java | 6 +- .../AbstractClassDetailsRegistry.java | 8 +- ...ontext.java => AbstractModelsContext.java} | 8 +- .../internal/AbstractTypeDescriptor.java | 11 +- .../AnnotationDescriptorRegistryStandard.java | 10 +- .../internal/AnnotationTargetHelper.java | 18 +- .../internal/AnnotationTargetSupport.java | 27 +-- .../internal/AnnotationUsageHelper.java | 21 +- .../models/internal/ArrayTypeDescriptor.java | 13 +- ...tImpl.java => BasicModelsContextImpl.java} | 10 +- .../internal/BooleanTypeDescriptor.java | 4 +- .../models/internal/ByteTypeDescriptor.java | 4 +- .../internal/CharacterTypeDescriptor.java | 4 +- .../ClassDetailsRegistryStandard.java | 6 +- .../models/internal/ClassDetailsSupport.java | 6 +- .../models/internal/ClassTypeDescriptor.java | 9 +- .../models/internal/DoubleTypeDescriptor.java | 4 +- .../models/internal/EnumTypeDescriptor.java | 4 +- .../models/internal/FloatTypeDescriptor.java | 9 +- .../internal/IntegerTypeDescriptor.java | 4 +- .../models/internal/IsResolvedTypeSwitch.java | 20 +- .../models/internal/LongTypeDescriptor.java | 9 +- .../internal/MissingPackageInfoDetails.java | 23 +- .../models/internal/NestedTypeDescriptor.java | 19 +- .../internal/OrmAnnotationDescriptor.java | 24 +- .../models/internal/ShortTypeDescriptor.java | 4 +- .../models/internal/SimpleClassDetails.java | 23 +- .../StandardAnnotationDescriptor.java | 24 +- .../models/internal/StringTypeDescriptor.java | 9 +- .../dynamic/AbstractAnnotationTarget.java | 8 +- .../internal/dynamic/DynamicClassDetails.java | 25 +- .../internal/dynamic/DynamicFieldDetails.java | 11 +- .../dynamic/DynamicMethodDetails.java | 193 --------------- .../jdk/AbstractJdkAnnotationTarget.java | 8 +- .../jdk/AbstractJdkValueExtractor.java | 12 +- .../internal/jdk/JdkArrayValueConverter.java | 4 +- .../internal/jdk/JdkArrayValueExtractor.java | 12 +- .../models/internal/jdk/JdkBuilders.java | 114 +++------ .../jdk/JdkBuildingContextProvider.java | 26 --- .../models/internal/jdk/JdkClassDetails.java | 11 +- .../models/internal/jdk/JdkFieldDetails.java | 11 +- .../models/internal/jdk/JdkMethodDetails.java | 11 +- .../internal/jdk/JdkNestedValueConverter.java | 4 +- .../internal/jdk/JdkNestedValueExtractor.java | 6 +- .../internal/jdk/JdkPassThruConverter.java | 4 +- .../internal/jdk/JdkPassThruExtractor.java | 4 +- .../jdk/JdkRecordComponentDetails.java | 11 +- .../internal/jdk/JdkTrackingTypeSwitch.java | 20 +- .../internal/jdk/JdkTrackingTypeSwitcher.java | 10 +- .../internal/jdk/SerialJdkClassDetails.java | 4 +- .../internal/util/ReflectionHelper.java | 8 +- .../rendering/internal/SimpleRenderer.java | 10 +- .../rendering/spi/AbstractRenderer.java | 26 +-- .../models/rendering/spi/Renderer.java | 16 +- .../internal/ClassDetailsBuilderImpl.java | 6 +- .../serial/internal/RestoredModelContext.java | 15 +- .../SerialAnnotationDescriptorImpl.java | 4 +- .../serial/internal/StorableContextImpl.java | 6 +- .../hibernate/models/serial/package-info.java | 2 +- .../hibernate/models/serial/spi/Storable.java | 4 +- .../models/serial/spi/StorableContext.java | 9 +- .../models/serial/spi/StorableForm.java | 6 +- .../models/spi/AnnotationDescriptor.java | 12 +- .../models/spi/AnnotationTarget.java | 58 ++--- .../hibernate/models/spi/ClassDetails.java | 8 +- .../models/spi/ClassDetailsBuilder.java | 2 +- .../spi/ClassDetailsBuilderProvider.java | 23 -- .../hibernate/models/spi/FieldDetails.java | 2 +- .../models/spi/JdkValueConverter.java | 2 +- .../models/spi/JdkValueExtractor.java | 4 +- .../hibernate/models/spi/MemberDetails.java | 4 +- .../hibernate/models/spi/MethodDetails.java | 2 +- .../models/spi/ModelsConfiguration.java | 34 +-- .../hibernate/models/spi/ModelsContext.java | 70 ++++++ .../models/spi/ModelsContextProvider.java | 27 +++ .../models/spi/MutableAnnotationTarget.java | 14 +- .../models/spi/RecordComponentDetails.java | 2 +- .../hibernate/models/spi/RegistryPrimer.java | 2 +- .../spi/SourceModelBuildingContext.java | 29 --- .../SourceModelBuildingContextProvider.java | 25 -- .../models/spi/SourceModelContext.java | 20 -- .../org/hibernate/models/spi/TypeDetails.java | 2 +- .../models/spi/TypeDetailsHelper.java | 6 +- .../models/spi/TypeDetailsSwitch.java | 38 +-- .../models/spi/ValueTypeDescriptor.java | 10 +- .../hibernate/models/testing/TestHelper.java | 32 +-- .../tests/MultiDimensionalArrayTypeTests.java | 22 +- .../models/testing/tests/PackageTests.java | 14 +- .../testing/tests/RenderingSmokeTest.java | 34 +-- .../SimpleClassLoadingMigrationTests.java | 36 +-- .../tests/SimpleSerializationTests.java | 44 ++-- .../annotations/AnnotationCycleTests.java | 8 +- .../AnnotationReplacementTests.java | 16 +- .../annotations/AnnotationUsageTests.java | 94 ++++---- .../annotations/AttributeAccessTests.java | 8 +- .../testing/tests/annotations/MapKeyTest.java | 7 +- .../annotations/NestedAnnotationTests.java | 7 +- .../annotations/RepeatableUsageTests.java | 62 ++--- .../tests/annotations/SelfReferenceTests.java | 12 +- .../annotations/TargetSafeCastingTests.java | 6 +- .../target/AnnotationTargetTests.java | 66 +++--- .../target/FromContainersTests.java | 38 +-- .../target/WalkContainerTests.java | 18 +- .../tests/classes/ClassRegistryTests.java | 22 +- .../testing/tests/classes/EnumTests.java | 6 +- .../testing/tests/classes/GenericsTests.java | 20 +- .../tests/classes/InheritanceTests.java | 72 +++--- .../tests/classes/PrimitiveTypeTests.java | 4 +- .../tests/dynamic/DynamicAnnotationTests.java | 16 +- .../dynamic/SimpleDynamicModelTests.java | 220 +++++++++--------- .../testing/tests/generics/BaselineTests.java | 6 +- .../tests/generics/CollectionTests.java | 30 +-- .../InheritanceTypeVariableTests.java | 10 +- .../tests/generics/NestedInheritanceTest.java | 12 +- .../NestedRecursiveInheritanceTest.java | 22 +- .../generics/RecursiveTypeVariableTests.java | 6 +- .../generics/SimpleTypeVariableTests.java | 6 +- .../testing/tests/members/ArrayTests.java | 6 +- .../tests/members/FieldDetailsTests.java | 7 +- .../tests/members/MethodDetailsTests.java | 7 +- .../tests/members/PluralMemberTests.java | 6 +- .../testing/tests/members/RecordTests.java | 6 +- .../tests/members/UnboundWildcardTests.java | 6 +- .../SimpleSerializationTests.java | 46 ++-- .../tests/xml/MetadataCompleteTests.java | 8 +- 253 files changed, 1680 insertions(+), 2138 deletions(-) rename hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/{ByteBuddyModelContextImpl.java => ByteBuddyModelsContextImpl.java} (65%) rename hibernate-models-bytebuddy/src/main/resources/META-INF/services/{org.hibernate.models.spi.SourceModelBuildingContextProvider => org.hibernate.models.spi.ModelsContextProvider} (100%) rename hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/{ByteBuddyModelContextFactory.java => ByteBuddyModelsContextFactory.java} (84%) rename hibernate-models-bytebuddy/src/test/resources/META-INF/services/{org.hibernate.models.testing.intg.ModelContextFactory => org.hibernate.models.testing.intg.ModelsContextFactory} (56%) rename hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/{JandexModelContextImpl.java => JandexModelsContextImpl.java} (89%) rename hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/{JandexBuildingContextProvider.java => JandexModelsContextProvider.java} (57%) delete mode 100644 hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexValueHelper.java rename hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/{JandexModelContext.java => JandexModelsContext.java} (80%) rename hibernate-models-jandex/src/main/resources/META-INF/services/{org.hibernate.models.spi.SourceModelBuildingContextProvider => org.hibernate.models.spi.ModelsContextProvider} (69%) rename hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/{JandexModelContextFactoryImpl.java => JandexModelsContextFactoryImpl.java} (77%) delete mode 100644 hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory create mode 100644 hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory delete mode 100644 hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java create mode 100644 hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelsContextFactory.java create mode 100644 hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddableAnnotation.java create mode 100644 hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddedAnnotation.java rename hibernate-models/src/main/java/org/hibernate/models/internal/{AbstractModelBuildingContext.java => AbstractModelsContext.java} (86%) rename hibernate-models/src/main/java/org/hibernate/models/internal/{BasicModelBuildingContextImpl.java => BasicModelsContextImpl.java} (76%) delete mode 100644 hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicMethodDetails.java delete mode 100644 hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuildingContextProvider.java delete mode 100644 hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilderProvider.java create mode 100644 hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContext.java create mode 100644 hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContextProvider.java delete mode 100644 hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContext.java delete mode 100644 hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContextProvider.java delete mode 100644 hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelContext.java diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyBuilders.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyBuilders.java index 50b262b..6eb23c0 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyBuilders.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyBuilders.java @@ -17,32 +17,21 @@ import org.hibernate.models.bytebuddy.internal.values.ArrayValueConverter; import org.hibernate.models.bytebuddy.internal.values.ArrayValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.BooleanValueConverter; import org.hibernate.models.bytebuddy.internal.values.BooleanValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.ByteValueConverter; import org.hibernate.models.bytebuddy.internal.values.ByteValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.CharacterValueConverter; import org.hibernate.models.bytebuddy.internal.values.CharacterValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.ClassValueConverter; import org.hibernate.models.bytebuddy.internal.values.ClassValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.DoubleValueConverter; import org.hibernate.models.bytebuddy.internal.values.DoubleValueExtractor; import org.hibernate.models.bytebuddy.internal.values.EnumValueConverter; import org.hibernate.models.bytebuddy.internal.values.EnumValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.FloatValueConverter; import org.hibernate.models.bytebuddy.internal.values.FloatValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.IntegerValueConverter; import org.hibernate.models.bytebuddy.internal.values.IntegerValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.LongValueConverter; import org.hibernate.models.bytebuddy.internal.values.LongValueExtractor; import org.hibernate.models.bytebuddy.internal.values.NestedValueConverter; import org.hibernate.models.bytebuddy.internal.values.NestedValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.ShortValueConverter; import org.hibernate.models.bytebuddy.internal.values.ShortValueExtractor; -import org.hibernate.models.bytebuddy.internal.values.StringValueConverter; import org.hibernate.models.bytebuddy.internal.values.StringValueExtractor; import org.hibernate.models.bytebuddy.spi.ByteBuddyModelsContext; -import org.hibernate.models.bytebuddy.spi.ValueConverter; import org.hibernate.models.bytebuddy.spi.ValueExtractor; import org.hibernate.models.internal.ArrayTypeDescriptor; import org.hibernate.models.internal.jdk.JdkBuilders; @@ -53,7 +42,7 @@ import org.hibernate.models.spi.AttributeDescriptor; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; import net.bytebuddy.description.annotation.AnnotationDescription; @@ -276,7 +265,7 @@ public static void processAnnotations( public static A makeUsage( AnnotationDescription annotationDescription, AnnotationDescriptor annotationDescriptor, - SourceModelBuildingContext modelsContext) { + ModelsContext modelsContext) { final Map attributeValues = extractAttributeValues( annotationDescription, annotationDescriptor, @@ -288,7 +277,7 @@ public static A makeUsage( private static Map extractAttributeValues( AnnotationDescription annotationDescription, AnnotationDescriptor annotationDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { if ( CollectionHelper.isEmpty( annotationDescriptor.getAttributes() ) ) { return Collections.emptyMap(); @@ -298,7 +287,7 @@ private static Map extractAttributeValues for ( int i = 0; i < annotationDescriptor.getAttributes().size(); i++ ) { final AttributeDescriptor attributeDescriptor = annotationDescriptor.getAttributes().get( i ); final ValueExtractor extractor = modelContext - .as( ByteBuddyModelContextImpl.class ) + .as( ByteBuddyModelsContext.class ) .getValueExtractor( attributeDescriptor.getTypeDescriptor() ); final Object attributeValue = extractor.extractValue( annotationDescription, @@ -312,186 +301,62 @@ private static Map extractAttributeValues // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // ValueConverter / ValueExtractor + // ValueExtractor // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @SuppressWarnings("unchecked") - public static ValueConverter buildValueHandlersReturnConverter( + public static ValueExtractor buildValueExtractor( ValueTypeDescriptor valueTypeDescriptor, - BiConsumer,ValueConverter> converterCollector, - BiConsumer, ValueExtractor> extractorCollector, - ByteBuddyModelContextImpl sourceModelBuildingContext) { + ByteBuddyModelsContextImpl modelsContext) { if ( valueTypeDescriptor.getValueType().isArray() ) { final ValueTypeDescriptor elementTypeDescriptor = ( (ArrayTypeDescriptor) valueTypeDescriptor ).getElementTypeDescriptor(); final ArrayValueConverter valueConverter = new ArrayValueConverter<>( elementTypeDescriptor ); final ArrayValueExtractor valueExtractor = new ArrayValueExtractor<>( valueConverter ); - converterCollector.accept( valueTypeDescriptor, (ValueConverter) valueConverter ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) valueExtractor ); - return (ValueConverter) valueConverter; - } - - if ( isBoolean( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) BooleanValueConverter.BOOLEAN_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) BooleanValueExtractor.BOOLEAN_EXTRACTOR ); - return (ValueConverter) BooleanValueConverter.BOOLEAN_VALUE_WRAPPER; - } - - if ( isByte( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) ByteValueConverter.BYTE_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) ByteValueExtractor.BYTE_EXTRACTOR ); - return (ValueConverter) ByteValueConverter.BYTE_VALUE_WRAPPER; - } - - if ( isChar( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) CharacterValueConverter.CHARACTER_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) CharacterValueExtractor.CHARACTER_EXTRACTOR ); - return (ValueConverter) CharacterValueConverter.CHARACTER_VALUE_WRAPPER; - } - - if ( isDouble( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) DoubleValueConverter.DOUBLE_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) DoubleValueExtractor.DOUBLE_EXTRACTOR ); - return (ValueConverter) DoubleValueConverter.DOUBLE_VALUE_WRAPPER; - } - - if ( isFloat( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) FloatValueConverter.FLOAT_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) FloatValueExtractor.FLOAT_EXTRACTOR ); - return (ValueConverter) FloatValueConverter.FLOAT_VALUE_WRAPPER; - } - - if ( isInt( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) IntegerValueConverter.INTEGER_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) IntegerValueExtractor.INTEGER_EXTRACTOR ); - return (ValueConverter) IntegerValueConverter.INTEGER_VALUE_WRAPPER; - } - - if ( isLong( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) LongValueConverter.LONG_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) LongValueExtractor.LONG_EXTRACTOR ); - return (ValueConverter) LongValueConverter.LONG_VALUE_WRAPPER; - } - - if ( isShort( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) ShortValueConverter.SHORT_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) ShortValueExtractor.SHORT_EXTRACTOR ); - return (ValueConverter) ShortValueConverter.SHORT_VALUE_WRAPPER; - } - - if ( valueTypeDescriptor.getValueType() == String.class ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) StringValueConverter.STRING_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) StringValueExtractor.STRING_EXTRACTOR ); - return (ValueConverter) StringValueConverter.STRING_VALUE_WRAPPER; - } - - if ( valueTypeDescriptor.getValueType().isAnnotation() ) { - final AnnotationDescriptor annotationDescriptor = sourceModelBuildingContext - .getAnnotationDescriptorRegistry() - .getDescriptor( (Class) valueTypeDescriptor.getValueType() ); - final NestedValueConverter jandexNestedValueConverter = new NestedValueConverter<>( annotationDescriptor ); - final NestedValueExtractor jandexNestedValueExtractor = new NestedValueExtractor<>( jandexNestedValueConverter ); - - converterCollector.accept( valueTypeDescriptor, (ValueConverter) jandexNestedValueConverter ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) jandexNestedValueExtractor ); - return (ValueConverter) jandexNestedValueConverter; - } - - if ( valueTypeDescriptor.getValueType().isEnum() ) { - //noinspection rawtypes - final EnumValueConverter converter = new EnumValueConverter( valueTypeDescriptor.getValueType() ); - converterCollector.accept( valueTypeDescriptor, (ValueConverter) converter ); - //noinspection rawtypes - extractorCollector.accept( valueTypeDescriptor, new EnumValueExtractor( converter ) ); - return (ValueConverter) converter; - } - - if ( valueTypeDescriptor.getValueType() == Class.class ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) ClassValueConverter.CLASS_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) ClassValueExtractor.CLASS_EXTRACTOR ); - return (ValueConverter) ClassValueConverter.CLASS_VALUE_WRAPPER; - } - - throw new UnsupportedOperationException( "Unhandled value type : " + valueTypeDescriptor ); - } - - @SuppressWarnings("unchecked") - public static ValueExtractor buildValueHandlersReturnExtractor( - ValueTypeDescriptor valueTypeDescriptor, - BiConsumer,ValueConverter> converterCollector, - BiConsumer, ValueExtractor> extractorCollector, - ByteBuddyModelContextImpl sourceModelBuildingContext) { - if ( valueTypeDescriptor.getValueType().isArray() ) { - final ValueTypeDescriptor elementTypeDescriptor = ( (ArrayTypeDescriptor) valueTypeDescriptor ).getElementTypeDescriptor(); - final ArrayValueConverter valueConverter = new ArrayValueConverter<>( elementTypeDescriptor ); - final ArrayValueExtractor valueExtractor = new ArrayValueExtractor<>( valueConverter ); - converterCollector.accept( valueTypeDescriptor, (ValueConverter) valueConverter ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) valueExtractor ); return (ValueExtractor) valueExtractor; } if ( isBoolean( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) BooleanValueConverter.BOOLEAN_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) BooleanValueExtractor.BOOLEAN_EXTRACTOR ); return (ValueExtractor) BooleanValueExtractor.BOOLEAN_EXTRACTOR; } if ( isByte( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) ByteValueConverter.BYTE_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) ByteValueExtractor.BYTE_EXTRACTOR ); return (ValueExtractor) ByteValueExtractor.BYTE_EXTRACTOR; } if ( isChar( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) CharacterValueConverter.CHARACTER_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) CharacterValueExtractor.CHARACTER_EXTRACTOR ); return (ValueExtractor) CharacterValueExtractor.CHARACTER_EXTRACTOR; } if ( isDouble( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) DoubleValueConverter.DOUBLE_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) DoubleValueExtractor.DOUBLE_EXTRACTOR ); return (ValueExtractor) DoubleValueExtractor.DOUBLE_EXTRACTOR; } if ( isFloat( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) FloatValueConverter.FLOAT_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) FloatValueExtractor.FLOAT_EXTRACTOR ); return (ValueExtractor) FloatValueExtractor.FLOAT_EXTRACTOR; } if ( isInt( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) IntegerValueConverter.INTEGER_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) IntegerValueExtractor.INTEGER_EXTRACTOR ); return (ValueExtractor) IntegerValueExtractor.INTEGER_EXTRACTOR; } if ( isLong( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) LongValueConverter.LONG_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) LongValueExtractor.LONG_EXTRACTOR ); return (ValueExtractor) LongValueExtractor.LONG_EXTRACTOR; } if ( isShort( valueTypeDescriptor ) ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) ShortValueConverter.SHORT_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) ShortValueExtractor.SHORT_EXTRACTOR ); return (ValueExtractor) ShortValueExtractor.SHORT_EXTRACTOR; } if ( valueTypeDescriptor.getValueType() == String.class ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) StringValueConverter.STRING_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) StringValueExtractor.STRING_EXTRACTOR ); return (ValueExtractor) StringValueExtractor.STRING_EXTRACTOR; } if ( valueTypeDescriptor.getValueType().isAnnotation() ) { - final AnnotationDescriptor annotationDescriptor = sourceModelBuildingContext + final AnnotationDescriptor annotationDescriptor = modelsContext .getAnnotationDescriptorRegistry() .getDescriptor( (Class) valueTypeDescriptor.getValueType() ); final NestedValueConverter jandexNestedValueConverter = new NestedValueConverter<>( annotationDescriptor ); final NestedValueExtractor jandexNestedValueExtractor = new NestedValueExtractor<>( jandexNestedValueConverter ); - - converterCollector.accept( valueTypeDescriptor, (ValueConverter) jandexNestedValueConverter ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) jandexNestedValueExtractor ); return (ValueExtractor) jandexNestedValueExtractor; } @@ -500,14 +365,10 @@ public static ValueExtractor buildValueHandlersReturnExtractor( final EnumValueConverter converter = new EnumValueConverter( valueTypeDescriptor.getValueType() ); //noinspection rawtypes final EnumValueExtractor extractor = new EnumValueExtractor<>( converter ); - converterCollector.accept( valueTypeDescriptor, (ValueConverter) converter ); - extractorCollector.accept( valueTypeDescriptor, extractor ); return (ValueExtractor) extractor; } if ( valueTypeDescriptor.getValueType() == Class.class ) { - converterCollector.accept( valueTypeDescriptor, (ValueConverter) ClassValueConverter.CLASS_VALUE_WRAPPER ); - extractorCollector.accept( valueTypeDescriptor, (ValueExtractor) ClassValueExtractor.CLASS_EXTRACTOR ); return (ValueExtractor) ClassValueExtractor.CLASS_EXTRACTOR; } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyContextProvider.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyContextProvider.java index 9323357..e6b4cf8 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyContextProvider.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyContextProvider.java @@ -7,32 +7,32 @@ import java.util.Map; import org.hibernate.models.bytebuddy.Settings; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.internal.BasicModelsContextImpl; import org.hibernate.models.spi.ClassLoading; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelBuildingContextProvider; +import org.hibernate.models.spi.ModelsContextProvider; import net.bytebuddy.pool.TypePool; /** * @author Steve Ebersole */ -public class ByteBuddyContextProvider implements SourceModelBuildingContextProvider { +public class ByteBuddyContextProvider implements ModelsContextProvider { public static final ByteBuddyContextProvider BYTEBUDDY_PROVIDER = new ByteBuddyContextProvider(); @Override - public SourceModelBuildingContext produceContext( + public ModelsContext produceContext( ClassLoading classLoading, RegistryPrimer registryPrimer, Map configProperties) { final TypePool typePool = resolveTypePool( configProperties ); if ( typePool != null ) { - return new ByteBuddyModelContextImpl( typePool, classLoading, registryPrimer ); + return new ByteBuddyModelsContextImpl( typePool, classLoading, registryPrimer ); } - return new BasicModelBuildingContextImpl( classLoading, registryPrimer ); + return new BasicModelsContextImpl( classLoading, registryPrimer ); } private TypePool resolveTypePool(Map configProperties) { diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyModelContextImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyModelsContextImpl.java similarity index 65% rename from hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyModelContextImpl.java rename to hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyModelsContextImpl.java index 421b9c7..af9052b 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyModelContextImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyModelsContextImpl.java @@ -8,13 +8,11 @@ import java.util.Map; import org.hibernate.models.bytebuddy.spi.ByteBuddyModelsContext; -import org.hibernate.models.bytebuddy.spi.ValueConverter; import org.hibernate.models.bytebuddy.spi.ValueExtractor; -import org.hibernate.models.internal.AbstractModelBuildingContext; +import org.hibernate.models.internal.AbstractModelsContext; import org.hibernate.models.internal.AnnotationDescriptorRegistryStandard; import org.hibernate.models.internal.MutableAnnotationDescriptorRegistry; import org.hibernate.models.internal.MutableClassDetailsRegistry; -import org.hibernate.models.internal.SimpleClassLoading; import org.hibernate.models.serial.internal.StorableContextImpl; import org.hibernate.models.serial.spi.StorableContext; import org.hibernate.models.spi.ClassLoading; @@ -24,29 +22,22 @@ import net.bytebuddy.pool.TypePool; /** - * SourceModelBuildingContext implementation based on ByteBuddy, leveraging a - * {@linkplain TypePool} to inspect + * Implementation of ByteBuddyModelsContext * * @author Steve Ebersole */ -public class ByteBuddyModelContextImpl - extends AbstractModelBuildingContext +public class ByteBuddyModelsContextImpl + extends AbstractModelsContext implements ByteBuddyModelsContext { private final TypePool typePool; private final ClassDetailsRegistryImpl classDetailsRegistry; private final AnnotationDescriptorRegistryStandard descriptorRegistry; - private final Map valueConverters = new HashMap<>(); + @SuppressWarnings("rawtypes") private final Map valueExtractors = new HashMap<>(); - public ByteBuddyModelContextImpl( - TypePool typePool, - RegistryPrimer registryPrimer) { - this( typePool, SimpleClassLoading.SIMPLE_CLASS_LOADING, registryPrimer ); - } - - public ByteBuddyModelContextImpl( + public ByteBuddyModelsContextImpl( TypePool typePool, ClassLoading classLoading, RegistryPrimer registryPrimer) { @@ -80,22 +71,6 @@ public StorableContext toStorableForm() { return new StorableContextImpl( classDetailsRegistry.classDetailsMap(), descriptorRegistry.descriptorMap() ); } - @Override - public ValueConverter getValueConverter(ValueTypeDescriptor valueTypeDescriptor) { - //noinspection unchecked - final ValueConverter existing = valueConverters.get( valueTypeDescriptor ); - if ( existing != null ) { - return existing; - } - - return ByteBuddyBuilders.buildValueHandlersReturnConverter( - valueTypeDescriptor, - valueConverters::put, - valueExtractors::put, - this - ); - } - @Override public ValueExtractor getValueExtractor(ValueTypeDescriptor valueTypeDescriptor) { //noinspection unchecked @@ -104,11 +79,11 @@ public ValueExtractor getValueExtractor(ValueTypeDescriptor valueTypeD return existing; } - return ByteBuddyBuilders.buildValueHandlersReturnExtractor( + final ValueExtractor valueExtractor = ByteBuddyBuilders.buildValueExtractor( valueTypeDescriptor, - valueConverters::put, - valueExtractors::put, this ); + valueExtractors.put( valueTypeDescriptor, valueExtractor ); + return valueExtractor; } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsBuilderImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsBuilderImpl.java index 211d241..05ff904 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsBuilderImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsBuilderImpl.java @@ -7,7 +7,7 @@ import org.hibernate.models.bytebuddy.spi.ByteBuddyModelsContext; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsBuilder; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -20,8 +20,8 @@ public ClassDetailsBuilderImpl(ByteBuddyModelsContext modelContext) { } @Override - public ClassDetails buildClassDetails(String name, SourceModelBuildingContext buildingContext) { - assert buildingContext == modelContext; + public ClassDetails buildClassDetails(String name, ModelsContext modelsContext) { + assert modelsContext == modelContext; return ByteBuddyBuilders.buildDetails( name, modelContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsImpl.java index 8460255..086e7a7 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsImpl.java @@ -17,8 +17,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -202,7 +201,7 @@ public Class toJavaClass() { } @Override - public Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) { + public Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext) { return classLoading.classForName( getClassName() ); } @@ -218,27 +217,27 @@ public String toString() { private static ClassDetails determineSuperType( TypeDescription typeDescription, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( typeDescription.getSuperClass() == null ) { return null; } - return buildingContext + return modelsContext .getClassDetailsRegistry() .resolveClassDetails( typeDescription.getSuperClass().asRawType().getTypeName() ); } - private static TypeDetails determineGenericSuperType(TypeDescription typeDescription, SourceModelBuildingContext buildingContext) { + private static TypeDetails determineGenericSuperType(TypeDescription typeDescription, ModelsContext modelsContext) { if ( typeDescription.getSuperClass() == null ) { return null; } - return TypeSwitchStandard.switchType( typeDescription.getSuperClass(), buildingContext ); + return TypeSwitchStandard.switchType( typeDescription.getSuperClass(), modelsContext ); } private static List determineInterfaces( TypeDescription typeDescription, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final TypeList.Generic interfaceTypes = typeDescription.getInterfaces(); if ( isEmpty( interfaceTypes ) ) { return emptyList(); @@ -248,7 +247,7 @@ private static List determineInterfaces( for ( TypeDescription.Generic interfaceType : interfaceTypes ) { final TypeDetails switchedType = TypeSwitchStandard.switchType( interfaceType, - buildingContext + modelsContext ); result.add( switchedType ); } @@ -258,7 +257,7 @@ private static List determineInterfaces( private static List determineTypeParameters( TypeDescription typeDescription, ClassDetailsImpl current, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final TypeList.Generic typeArguments = typeDescription.getTypeVariables(); if ( CollectionHelper.isEmpty( typeArguments ) ) { return emptyList(); @@ -266,7 +265,7 @@ private static List determineTypeParameters( final ArrayList result = arrayList( typeArguments.size() ); for ( TypeDescription.Generic typeArgument : typeArguments ) { - result.add( (TypeVariableDetails) TypeSwitchStandard.switchType( typeArgument, current, buildingContext ) ); + result.add( (TypeVariableDetails) TypeSwitchStandard.switchType( typeArgument, current, modelsContext ) ); } return result; } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsRegistryImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsRegistryImpl.java index 6ddbd37..f109763 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsRegistryImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsRegistryImpl.java @@ -18,7 +18,7 @@ public class ClassDetailsRegistryImpl extends AbstractClassDetailsRegistry { private final ClassDetailsBuilderImpl classDetailsBuilder; - public ClassDetailsRegistryImpl(ByteBuddyModelContextImpl context) { + public ClassDetailsRegistryImpl(ByteBuddyModelsContextImpl context) { super( context ); this.classDetailsBuilder = new ClassDetailsBuilderImpl( context ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/FieldDetailsImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/FieldDetailsImpl.java index ab81c6f..70f27e3 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/FieldDetailsImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/FieldDetailsImpl.java @@ -20,7 +20,7 @@ import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import net.bytebuddy.description.annotation.AnnotationSource; @@ -107,7 +107,7 @@ public Field toJavaMember() { public Field toJavaMember( Class declaringJavaClass, ClassLoading classLoading, - SourceModelContext modelContext) { + ModelsContext modelContext) { try { return declaringJavaClass.getField( getName() ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/MethodDetailsImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/MethodDetailsImpl.java index defd62b..3099ebb 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/MethodDetailsImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/MethodDetailsImpl.java @@ -22,7 +22,7 @@ import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import net.bytebuddy.description.annotation.AnnotationSource; @@ -154,7 +154,7 @@ public Method toJavaMember() { public Method toJavaMember( Class declaringJavaClass, ClassLoading classLoading, - SourceModelContext modelContext) { + ModelsContext modelContext) { methods: for ( Method method : declaringJavaClass.getDeclaredMethods() ) { if ( !method.getName().equals( getName() ) ) { continue; diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/RecordComponentDetailsImpl.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/RecordComponentDetailsImpl.java index e4bf91b..c4e34bb 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/RecordComponentDetailsImpl.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/RecordComponentDetailsImpl.java @@ -20,7 +20,7 @@ import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import net.bytebuddy.description.annotation.AnnotationSource; @@ -100,7 +100,7 @@ public Member toJavaMember() { } @Override - public Member toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Member toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { // we could maybe resolve the corresponding method... return null; } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/TypeSwitchStandard.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/TypeSwitchStandard.java index dcead71..86e7dad 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/TypeSwitchStandard.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/TypeSwitchStandard.java @@ -20,7 +20,7 @@ import org.hibernate.models.internal.WildcardTypeDetailsImpl; import org.hibernate.models.internal.util.CollectionHelper; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeDetailsHelper; @@ -35,13 +35,13 @@ */ public class TypeSwitchStandard implements TypeSwitch { - public static TypeDetails switchType(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { - return switchType( typeDescription, null, buildingContext ); + public static TypeDetails switchType(TypeDefinition typeDescription, ModelsContext modelsContext) { + return switchType( typeDescription, null, modelsContext ); } - public static TypeDetails switchType(TypeDefinition typeDescription, ClassDetails declaringType, SourceModelBuildingContext buildingContext) { + public static TypeDetails switchType(TypeDefinition typeDescription, ClassDetails declaringType, ModelsContext modelsContext) { final TypeSwitchStandard switchImpl = new TypeSwitchStandard( declaringType ); - return TypeSwitcher.switchType( typeDescription, switchImpl, buildingContext ); + return TypeSwitcher.switchType( typeDescription, switchImpl, modelsContext ); } @@ -52,24 +52,24 @@ public TypeSwitchStandard(ClassDetails declaringType) { } @Override - public TypeDetails caseClass(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + public TypeDetails caseClass(TypeDefinition typeDescription, ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( typeDescription.getTypeName() ); return new ClassTypeDetailsImpl( classDetails, TypeDetails.Kind.CLASS ); } @Override - public TypeDetails casePrimitive(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + public TypeDetails casePrimitive(TypeDefinition typeDescription, ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( typeDescription.getTypeName() ); return new PrimitiveTypeDetailsImpl( classDetails ); } @Override - public TypeDetails caseVoid(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + public TypeDetails caseVoid(TypeDefinition typeDescription, ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() // allows for void or Void .resolveClassDetails( typeDescription.getTypeName() ); @@ -79,19 +79,19 @@ public TypeDetails caseVoid(TypeDefinition typeDescription, SourceModelBuildingC @Override public TypeDetails caseParameterizedType( TypeDefinition typeDescription, - SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( typeDescription.asErasure().getName() ); return new ParameterizedTypeDetailsImpl( classDetails, - resolveTypes( typeDescription.asGenericType().getTypeArguments(), this, buildingContext ), + resolveTypes( typeDescription.asGenericType().getTypeArguments(), this, modelsContext ), null ); } @Override - public TypeDetails caseWildcardType(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { + public TypeDetails caseWildcardType(TypeDefinition typeDescription, ModelsContext modelsContext) { final TypeList.Generic upperBounds = typeDescription.asGenericType().getUpperBounds(); final TypeList.Generic lowerBounds = typeDescription.asGenericType().getLowerBounds(); @@ -107,7 +107,7 @@ public TypeDetails caseWildcardType(TypeDefinition typeDescription, SourceModelB isExtends = false; } - return new WildcardTypeDetailsImpl( TypeSwitcher.switchType( bound.get( 0 ), this, buildingContext ), isExtends ); + return new WildcardTypeDetailsImpl( TypeSwitcher.switchType( bound.get( 0 ), this, modelsContext ), isExtends ); } private boolean isExtends(TypeList.Generic upperBounds, TypeList.Generic lowerBounds) { @@ -121,7 +121,7 @@ private boolean isExtends(TypeList.Generic upperBounds, TypeList.Generic lowerBo private HashSet typeVariableIdentifiers; @Override - public TypeDetails caseTypeVariable(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { + public TypeDetails caseTypeVariable(TypeDefinition typeDescription, ModelsContext modelsContext) { final boolean isTypeVariableRef; if ( typeVariableIdentifiers == null ) { typeVariableIdentifiers = new HashSet<>(); @@ -140,14 +140,14 @@ public TypeDetails caseTypeVariable(TypeDefinition typeDescription, SourceModelB return new TypeVariableDetailsImpl( typeDescription.getActualName(), declaringType, - resolveTypes( typeDescription.asGenericType().getUpperBounds(), this, buildingContext ) + resolveTypes( typeDescription.asGenericType().getUpperBounds(), this, modelsContext ) ); } @Override public TypeDetails caseTypeVariableReference( TypeDefinition typeDescription, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { // todo : This is not actually correct I think. From the Byte Buddy javadocs: // > Represents a type variable that is merely symbolic and is not // > attached to a net.bytebuddy.description.TypeVariableSource and does @@ -158,27 +158,27 @@ public TypeDetails caseTypeVariableReference( } @Override - public TypeDetails caseArrayType(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { - final TypeDetails constituentType = TypeSwitcher.switchType( typeDescription.getComponentType(), this, buildingContext ); - return TypeDetailsHelper.arrayOf( constituentType, buildingContext ); + public TypeDetails caseArrayType(TypeDefinition typeDescription, ModelsContext modelsContext) { + final TypeDetails constituentType = TypeSwitcher.switchType( typeDescription.getComponentType(), this, modelsContext ); + return TypeDetailsHelper.arrayOf( constituentType, modelsContext ); } @Override - public TypeDetails defaultCase(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext) { + public TypeDetails defaultCase(TypeDefinition typeDescription, ModelsContext modelsContext) { throw new UnsupportedOperationException( "Unexpected Type kind - " + typeDescription ); } public static List resolveTypes( TypeList.Generic generics, TypeSwitchStandard typeSwitch, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( CollectionHelper.isEmpty( generics ) ) { return Collections.emptyList(); } final ArrayList result = arrayList( generics.size() ); for ( TypeDescription.Generic bound : generics ) { - final TypeDetails switchedType = TypeSwitcher.switchType( bound, typeSwitch, buildingContext ); + final TypeDetails switchedType = TypeSwitcher.switchType( bound, typeSwitch, modelsContext ); result.add( switchedType ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/AbstractValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/AbstractValueExtractor.java index 11df79d..40b027d 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/AbstractValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/AbstractValueExtractor.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueExtractor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationDescription; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,14 +18,14 @@ */ public abstract class AbstractValueExtractor implements ValueExtractor { - protected abstract W extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext); + protected abstract W extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext); @Override public W extractValue( AnnotationDescription annotation, String attributeName, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final AnnotationValue value = annotation.getValue( attributeName ); - return extractAndWrap( value, buildingContext ); + return extractAndWrap( value, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueConverter.java index 6fbbd8c..e0c5145 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueConverter.java @@ -11,7 +11,7 @@ import org.hibernate.models.bytebuddy.spi.ValueConverter; import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AnnotationDescriptorRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; import net.bytebuddy.description.annotation.AnnotationDescription; @@ -30,7 +30,7 @@ public ArrayValueConverter(ValueTypeDescriptor elementTypeDescriptor) { } @Override - public V[] convert(AnnotationValue annotationValue, SourceModelBuildingContext modelContext) { + public V[] convert(AnnotationValue annotationValue, ModelsContext modelContext) { assert annotationValue != null; final Class elementValueType = elementTypeDescriptor.getValueType(); @@ -78,7 +78,7 @@ public V[] convert(AnnotationValue annotationValue, SourceModelBuildingCont private V[] convertBooleanArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final boolean[] resolved = annotationValue.resolve( boolean[].class ); final Boolean[] result = (Boolean[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -90,7 +90,7 @@ private V[] convertBooleanArray( private V[] convertByteArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final byte[] resolved = annotationValue.resolve( byte[].class ); final Byte[] result = (Byte[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -102,7 +102,7 @@ private V[] convertByteArray( private V[] convertShortArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final short[] resolved = annotationValue.resolve( short[].class ); final Short[] result = (Short[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -114,7 +114,7 @@ private V[] convertShortArray( private V[] convertIntArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final int[] resolved = annotationValue.resolve( int[].class ); final Integer[] result = (Integer[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -126,7 +126,7 @@ private V[] convertIntArray( private V[] convertLongArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final long[] resolved = annotationValue.resolve( long[].class ); final Long[] result = (Long[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -138,7 +138,7 @@ private V[] convertLongArray( private V[] convertDoubleArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final double[] resolved = annotationValue.resolve( double[].class ); final Double[] result = (Double[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -150,7 +150,7 @@ private V[] convertDoubleArray( private V[] convertFloatArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final float[] resolved = annotationValue.resolve( float[].class ); final Float[] result = (Float[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -162,7 +162,7 @@ private V[] convertFloatArray( private V[] convertCharacterArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final char[] resolved = annotationValue.resolve( char[].class ); final Character[] result = (Character[]) elementTypeDescriptor.makeArray( resolved.length, modelContext ); for ( int i = 0; i < resolved.length; i++ ) { @@ -174,7 +174,7 @@ private V[] convertCharacterArray( private V[] convertNestedAnnotationArray( AnnotationValue annotationValue, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final AnnotationDescriptorRegistry descriptorRegistry = modelContext.getAnnotationDescriptorRegistry(); //noinspection unchecked diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueExtractor.java index 257aa28..c02e7dd 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ArrayValueExtractor.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -22,7 +22,7 @@ public ArrayValueExtractor(ValueConverter wrapper) { } @Override - protected V[] extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { - return wrapper.convert( byteBuddyValue, buildingContext ); + protected V[] extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { + return wrapper.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueConverter.java index db868f3..8c8cc73 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class BooleanValueConverter implements ValueConverter { public static final BooleanValueConverter BOOLEAN_VALUE_WRAPPER = new BooleanValueConverter(); @Override - public Boolean convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Boolean convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Boolean.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueExtractor.java index 20c6481..8ee7227 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/BooleanValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class BooleanValueExtractor extends AbstractValueExtractor { public static final BooleanValueExtractor BOOLEAN_EXTRACTOR = new BooleanValueExtractor(); @Override - protected Boolean extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Boolean extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return BooleanValueConverter.BOOLEAN_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return BooleanValueConverter.BOOLEAN_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueConverter.java index 6ba6c16..70d0d55 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class ByteValueConverter implements ValueConverter { public static final ByteValueConverter BYTE_VALUE_WRAPPER = new ByteValueConverter(); @Override - public Byte convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Byte convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Byte.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueExtractor.java index fcbb9bd..8212850 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ByteValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class ByteValueExtractor extends AbstractValueExtractor { public static final ByteValueExtractor BYTE_EXTRACTOR = new ByteValueExtractor(); @Override - protected Byte extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Byte extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return ByteValueConverter.BYTE_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return ByteValueConverter.BYTE_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueConverter.java index 79218a5..d83c78b 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class CharacterValueConverter implements ValueConverter { public static final CharacterValueConverter CHARACTER_VALUE_WRAPPER = new CharacterValueConverter(); @Override - public Character convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Character convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Character.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueExtractor.java index 67f5d93..1827108 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/CharacterValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class CharacterValueExtractor extends AbstractValueExtractor { public static final CharacterValueExtractor CHARACTER_EXTRACTOR = new CharacterValueExtractor(); @Override - protected Character extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Character extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return CharacterValueConverter.CHARACTER_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return CharacterValueConverter.CHARACTER_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueConverter.java index 7d3be97..eb523d7 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; import net.bytebuddy.description.type.TypeDescription; @@ -20,7 +20,7 @@ public class ClassValueConverter implements ValueConverter> { public static final ClassValueConverter CLASS_VALUE_WRAPPER = new ClassValueConverter(); @Override - public Class convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Class convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { final TypeDescription typeDescription = byteBuddyValue.resolve( TypeDescription.class ); final String typeName = typeDescription.getName(); if ( "void".equals( typeName ) ) { diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueExtractor.java index 0e59a18..6c6a616 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ClassValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class ClassValueExtractor extends AbstractValueExtractor> { public static final ClassValueExtractor CLASS_EXTRACTOR = new ClassValueExtractor(); @Override - protected Class extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Class extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return ClassValueConverter.CLASS_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return ClassValueConverter.CLASS_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueConverter.java index 875da39..e76555e 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueConverter.java @@ -5,7 +5,8 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; + import net.bytebuddy.description.annotation.AnnotationValue; /** @@ -17,7 +18,7 @@ public class DoubleValueConverter implements ValueConverter { public static final DoubleValueConverter DOUBLE_VALUE_WRAPPER = new DoubleValueConverter(); @Override - public Double convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Double convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Double.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueExtractor.java index 8a02961..25a8de2 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/DoubleValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class DoubleValueExtractor extends AbstractValueExtractor { public static final DoubleValueExtractor DOUBLE_EXTRACTOR = new DoubleValueExtractor(); @Override - protected Double extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Double extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return DoubleValueConverter.DOUBLE_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return DoubleValueConverter.DOUBLE_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueConverter.java index e94fe35..e769d16 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; import net.bytebuddy.description.enumeration.EnumerationDescription; @@ -23,7 +23,7 @@ public EnumValueConverter(Class enumClass) { } @Override - public E convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public E convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; final EnumerationDescription resolved = byteBuddyValue.resolve( EnumerationDescription.class ); return resolved.load( enumClass ); diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueExtractor.java index 5f55e98..4e5c3f3 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/EnumValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -21,8 +21,8 @@ public EnumValueExtractor(EnumValueConverter wrapper) { } @Override - protected E extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected E extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return wrapper.convert( byteBuddyValue, buildingContext ); + return wrapper.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueConverter.java index 73218ca..17c2ad0 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class FloatValueConverter implements ValueConverter { public static final FloatValueConverter FLOAT_VALUE_WRAPPER = new FloatValueConverter(); @Override - public Float convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Float convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Float.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueExtractor.java index 4edd756..e529aeb 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/FloatValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class FloatValueExtractor extends AbstractValueExtractor { public static final FloatValueExtractor FLOAT_EXTRACTOR = new FloatValueExtractor(); @Override - protected Float extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Float extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return FloatValueConverter.FLOAT_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return FloatValueConverter.FLOAT_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueConverter.java index 85ea62e..eaca3d3 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class IntegerValueConverter implements ValueConverter { public static final IntegerValueConverter INTEGER_VALUE_WRAPPER = new IntegerValueConverter(); @Override - public Integer convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Integer convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Integer.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueExtractor.java index dc9faa0..033745f 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/IntegerValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class IntegerValueExtractor extends AbstractValueExtractor { public static final IntegerValueExtractor INTEGER_EXTRACTOR = new IntegerValueExtractor(); @Override - protected Integer extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Integer extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return IntegerValueConverter.INTEGER_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return IntegerValueConverter.INTEGER_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueConverter.java index c3b2ac8..b13124c 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class LongValueConverter implements ValueConverter { public static final LongValueConverter LONG_VALUE_WRAPPER = new LongValueConverter(); @Override - public Long convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Long convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Long.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueExtractor.java index 8df78d5..03cb161 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/LongValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,8 +17,8 @@ public class LongValueExtractor extends AbstractValueExtractor { public static final LongValueExtractor LONG_EXTRACTOR = new LongValueExtractor(); @Override - protected Long extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Long extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return LongValueConverter.LONG_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return LongValueConverter.LONG_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueConverter.java index a7524cc..447de39 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueConverter.java @@ -9,7 +9,7 @@ import org.hibernate.models.bytebuddy.internal.ByteBuddyBuilders; import org.hibernate.models.bytebuddy.spi.ValueConverter; import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationDescription; import net.bytebuddy.description.annotation.AnnotationValue; @@ -28,7 +28,7 @@ public NestedValueConverter(AnnotationDescriptor descriptor) { } @Override - public A convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public A convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { final AnnotationDescription resolved = byteBuddyValue.resolve( AnnotationDescription.class ); return ByteBuddyBuilders.makeUsage( resolved, descriptor, modelContext ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueExtractor.java index 3a083ba..ce36389 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/NestedValueExtractor.java @@ -6,7 +6,7 @@ import java.lang.annotation.Annotation; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -24,7 +24,7 @@ public NestedValueExtractor(NestedValueConverter wrapper) { } @Override - protected A extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { - return wrapper.convert( byteBuddyValue, buildingContext ); + protected A extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { + return wrapper.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueConverter.java index ebcd7a9..f6b91a0 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class ShortValueConverter implements ValueConverter { public static final ShortValueConverter SHORT_VALUE_WRAPPER = new ShortValueConverter(); @Override - public Short convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public Short convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( Short.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueExtractor.java index 7b8f6e0..346513a 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/ShortValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -16,9 +16,9 @@ public class ShortValueExtractor extends AbstractValueExtractor { public static final ShortValueExtractor SHORT_EXTRACTOR = new ShortValueExtractor(); - protected Short extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { + protected Short extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { assert byteBuddyValue != null; - return ShortValueConverter.SHORT_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + return ShortValueConverter.SHORT_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueConverter.java index fd417a6..6e2b716 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.internal.values; import org.hibernate.models.bytebuddy.spi.ValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -18,7 +18,7 @@ public class StringValueConverter implements ValueConverter { public static final StringValueConverter STRING_VALUE_WRAPPER = new StringValueConverter(); @Override - public String convert(AnnotationValue byteBuddyValue, SourceModelBuildingContext modelContext) { + public String convert(AnnotationValue byteBuddyValue, ModelsContext modelContext) { assert byteBuddyValue != null; return byteBuddyValue.resolve( String.class ); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueExtractor.java index 7a6553b..6aa341b 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/values/StringValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,7 +17,7 @@ public class StringValueExtractor extends AbstractValueExtractor { public static final StringValueExtractor STRING_EXTRACTOR = new StringValueExtractor(); @Override - protected String extractAndWrap(AnnotationValue byteBuddyValue, SourceModelBuildingContext buildingContext) { - return StringValueConverter.STRING_VALUE_WRAPPER.convert( byteBuddyValue, buildingContext ); + protected String extractAndWrap(AnnotationValue byteBuddyValue, ModelsContext modelsContext) { + return StringValueConverter.STRING_VALUE_WRAPPER.convert( byteBuddyValue, modelsContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ByteBuddyModelsContext.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ByteBuddyModelsContext.java index f51c479..fdf92d1 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ByteBuddyModelsContext.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ByteBuddyModelsContext.java @@ -4,17 +4,18 @@ */ package org.hibernate.models.bytebuddy.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; import net.bytebuddy.pool.TypePool; /** + * ModelsContext implementation using Byte Buddy. + * * @author Steve Ebersole */ -public interface ByteBuddyModelsContext extends SourceModelBuildingContext { +public interface ByteBuddyModelsContext extends ModelsContext { TypePool getTypePool(); - ValueConverter getValueConverter(ValueTypeDescriptor valueTypeDescriptor); ValueExtractor getValueExtractor(ValueTypeDescriptor valueTypeDescriptor); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitch.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitch.java index 32d8da8..f03ade1 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitch.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitch.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.type.TypeDefinition; @@ -13,21 +13,21 @@ * @author Steve Ebersole */ public interface TypeSwitch { - T caseClass(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseClass(TypeDefinition typeDescription, ModelsContext modelsContext); - T casePrimitive(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T casePrimitive(TypeDefinition typeDescription, ModelsContext modelsContext); - T caseVoid(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseVoid(TypeDefinition typeDescription, ModelsContext modelsContext); - T caseParameterizedType(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseParameterizedType(TypeDefinition typeDescription, ModelsContext modelsContext); - T caseWildcardType(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseWildcardType(TypeDefinition typeDescription, ModelsContext modelsContext); - T caseTypeVariable(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseTypeVariable(TypeDefinition typeDescription, ModelsContext modelsContext); - T caseTypeVariableReference(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseTypeVariableReference(TypeDefinition typeDescription, ModelsContext modelsContext); - T caseArrayType(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T caseArrayType(TypeDefinition typeDescription, ModelsContext modelsContext); - T defaultCase(TypeDefinition typeDescription, SourceModelBuildingContext buildingContext); + T defaultCase(TypeDefinition typeDescription, ModelsContext modelsContext); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitcher.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitcher.java index d6677d1..7999f8f 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitcher.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/TypeSwitcher.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.type.TypeDefinition; import net.bytebuddy.description.type.TypeDescription; @@ -15,40 +15,40 @@ public class TypeSwitcher { private static final TypeDescription VOID = TypeDescription.ForLoadedType.of( void.class ); - public static T switchType(TypeDefinition typeDescription, TypeSwitch typeSwitch, SourceModelBuildingContext buildingContext) { + public static T switchType(TypeDefinition typeDescription, TypeSwitch typeSwitch, ModelsContext modelsContext) { if ( VOID.equals( typeDescription ) ) { - return typeSwitch.caseVoid( typeDescription, buildingContext ); + return typeSwitch.caseVoid( typeDescription, modelsContext ); } if ( typeDescription.isPrimitive() ) { - return typeSwitch.casePrimitive( typeDescription, buildingContext ); + return typeSwitch.casePrimitive( typeDescription, modelsContext ); } if ( typeDescription.isArray() ) { - return typeSwitch.caseArrayType( typeDescription, buildingContext ); + return typeSwitch.caseArrayType( typeDescription, modelsContext ); } switch( typeDescription.getSort() ) { case NON_GENERIC -> { - return typeSwitch.caseClass( typeDescription, buildingContext ); + return typeSwitch.caseClass( typeDescription, modelsContext ); } case GENERIC_ARRAY -> { - return typeSwitch.caseArrayType( typeDescription, buildingContext ); + return typeSwitch.caseArrayType( typeDescription, modelsContext ); } case PARAMETERIZED -> { - return typeSwitch.caseParameterizedType( typeDescription, buildingContext ); + return typeSwitch.caseParameterizedType( typeDescription, modelsContext ); } case WILDCARD -> { - return typeSwitch.caseWildcardType( typeDescription, buildingContext ); + return typeSwitch.caseWildcardType( typeDescription, modelsContext ); } case VARIABLE -> { - return typeSwitch.caseTypeVariable( typeDescription, buildingContext ); + return typeSwitch.caseTypeVariable( typeDescription, modelsContext ); } case VARIABLE_SYMBOLIC -> { - return typeSwitch.caseTypeVariableReference( typeDescription, buildingContext ); + return typeSwitch.caseTypeVariableReference( typeDescription, modelsContext ); } default -> { - return typeSwitch.defaultCase( typeDescription, buildingContext ); + return typeSwitch.defaultCase( typeDescription, modelsContext ); } } } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueConverter.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueConverter.java index 8a8b177..ab3b363 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueConverter.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueConverter.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.bytebuddy.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationValue; @@ -17,5 +17,5 @@ * @author Steve Ebersole */ public interface ValueConverter { - V convert(AnnotationValue attributeValue, SourceModelBuildingContext modelContext); + V convert(AnnotationValue attributeValue, ModelsContext modelContext); } diff --git a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueExtractor.java b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueExtractor.java index c3efa3e..9ed5833 100644 --- a/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueExtractor.java +++ b/hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/spi/ValueExtractor.java @@ -5,7 +5,7 @@ package org.hibernate.models.bytebuddy.spi; import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import net.bytebuddy.description.annotation.AnnotationDescription; @@ -18,7 +18,7 @@ public interface ValueExtractor { /** * Extract the value of the named attribute from the given annotation */ - V extractValue(AnnotationDescription annotation, String attributeName, SourceModelBuildingContext modelContext); + V extractValue(AnnotationDescription annotation, String attributeName, ModelsContext modelContext); /** * Extract the value of the described attribute from the given annotation @@ -26,7 +26,7 @@ public interface ValueExtractor { default V extractValue( AnnotationDescription annotation, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return extractValue( annotation, attributeDescriptor.getName(), modelContext ); } } diff --git a/hibernate-models-bytebuddy/src/main/resources/META-INF/services/org.hibernate.models.spi.SourceModelBuildingContextProvider b/hibernate-models-bytebuddy/src/main/resources/META-INF/services/org.hibernate.models.spi.ModelsContextProvider similarity index 100% rename from hibernate-models-bytebuddy/src/main/resources/META-INF/services/org.hibernate.models.spi.SourceModelBuildingContextProvider rename to hibernate-models-bytebuddy/src/main/resources/META-INF/services/org.hibernate.models.spi.ModelsContextProvider diff --git a/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/ByteBuddyModelContextFactory.java b/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/ByteBuddyModelsContextFactory.java similarity index 84% rename from hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/ByteBuddyModelContextFactory.java rename to hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/ByteBuddyModelsContextFactory.java index f4337f6..92e6095 100644 --- a/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/ByteBuddyModelContextFactory.java +++ b/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/shared/intg/ByteBuddyModelsContextFactory.java @@ -9,11 +9,11 @@ import java.net.URL; import org.hibernate.models.ModelsException; -import org.hibernate.models.bytebuddy.internal.ByteBuddyModelContextImpl; +import org.hibernate.models.bytebuddy.internal.ByteBuddyModelsContextImpl; import org.hibernate.models.bytebuddy.spi.ByteBuddyModelsContext; import org.hibernate.models.spi.ClassLoading; import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.testing.intg.ModelContextFactory; +import org.hibernate.models.testing.intg.ModelsContextFactory; import net.bytebuddy.dynamic.ClassFileLocator; import net.bytebuddy.pool.TypePool; @@ -23,15 +23,13 @@ /** * @author Steve Ebersole */ -public class ByteBuddyModelContextFactory implements ModelContextFactory { - public static final ByteBuddyModelContextFactory CONTEXT_FACTORY = new ByteBuddyModelContextFactory(); - +public class ByteBuddyModelsContextFactory implements ModelsContextFactory { @Override public ByteBuddyModelsContext createModelContext( RegistryPrimer registryPrimer, Class... modelClasses) { final TypePool byteBuddyTypePool = buildTypePool( modelClasses ); - return new ByteBuddyModelContextImpl( byteBuddyTypePool, SIMPLE_CLASS_LOADING, registryPrimer ); + return new ByteBuddyModelsContextImpl( byteBuddyTypePool, SIMPLE_CLASS_LOADING, registryPrimer ); } public static TypePool buildTypePool(Class... modelClasses) { diff --git a/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java b/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java index d3c12e2..d596dd6 100644 --- a/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java +++ b/hibernate-models-bytebuddy/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java @@ -5,11 +5,11 @@ package org.hibernate.models.testing.tests; import org.hibernate.models.bytebuddy.Settings; -import org.hibernate.models.bytebuddy.internal.ByteBuddyModelContextImpl; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.bytebuddy.internal.ByteBuddyModelsContextImpl; +import org.hibernate.models.internal.BasicModelsContextImpl; import org.hibernate.models.spi.ModelsConfiguration; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.testing.shared.intg.ByteBuddyModelContextFactory; +import org.hibernate.models.spi.ModelsContext; +import org.hibernate.models.testing.shared.intg.ByteBuddyModelsContextFactory; import org.junit.jupiter.api.Test; @@ -25,29 +25,29 @@ public class ProviderTests { @Test void testBasicBootstrap() { - final SourceModelBuildingContext context = new ModelsConfiguration() + final ModelsContext context = new ModelsConfiguration() .bootstrap(); assertThat( context ).isNotNull(); - assertThat( context ).isInstanceOf( BasicModelBuildingContextImpl.class ); + assertThat( context ).isInstanceOf( BasicModelsContextImpl.class ); } @Test void testExplicitProvider() { - final SourceModelBuildingContext context = new ModelsConfiguration() + final ModelsContext context = new ModelsConfiguration() .setExplicitContextProvider( BYTEBUDDY_PROVIDER ) .bootstrap(); assertThat( context ).isNotNull(); // without passing the TypePool, the basic one is used - assertThat( context ).isInstanceOf( BasicModelBuildingContextImpl.class ); + assertThat( context ).isInstanceOf( BasicModelsContextImpl.class ); } @Test void testPassingJandexIndex() { - final TypePool typePool = ByteBuddyModelContextFactory.buildTypePool( SIMPLE_CLASS_LOADING ); - final SourceModelBuildingContext context = new ModelsConfiguration() + final TypePool typePool = ByteBuddyModelsContextFactory.buildTypePool( SIMPLE_CLASS_LOADING ); + final ModelsContext context = new ModelsConfiguration() .configValue( Settings.TYPE_POOL_PARAM, typePool ) .bootstrap(); assertThat( context ).isNotNull(); - assertThat( context ).isInstanceOf( ByteBuddyModelContextImpl.class ); + assertThat( context ).isInstanceOf( ByteBuddyModelsContextImpl.class ); } } diff --git a/hibernate-models-bytebuddy/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory b/hibernate-models-bytebuddy/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory similarity index 56% rename from hibernate-models-bytebuddy/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory rename to hibernate-models-bytebuddy/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory index 02fdb40..ba9d14a 100644 --- a/hibernate-models-bytebuddy/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory +++ b/hibernate-models-bytebuddy/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory @@ -2,4 +2,4 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright: Red Hat Inc. and Hibernate Authors # -org.hibernate.models.testing.shared.intg.ByteBuddyModelContextFactory \ No newline at end of file +org.hibernate.models.testing.shared.intg.ByteBuddyModelsContextFactory \ No newline at end of file diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AbstractAnnotationTarget.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AbstractAnnotationTarget.java index 55ee9f9..d74dbc9 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AbstractAnnotationTarget.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AbstractAnnotationTarget.java @@ -8,21 +8,21 @@ import java.util.Map; import org.hibernate.models.internal.AnnotationTargetSupport; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole */ public abstract class AbstractAnnotationTarget implements AnnotationTargetSupport { - private final SourceModelBuildingContext modelContext; + private final ModelsContext modelContext; private Map, ? extends Annotation> usageMap; - public AbstractAnnotationTarget(SourceModelBuildingContext modelContext) { + public AbstractAnnotationTarget(ModelsContext modelContext) { this.modelContext = modelContext; } - public SourceModelBuildingContext getModelContext() { + public ModelsContext getModelContext() { return modelContext; } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AnnotationUsageBuilder.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AnnotationUsageBuilder.java index 12fdb14..8af92fa 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AnnotationUsageBuilder.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/AnnotationUsageBuilder.java @@ -17,12 +17,12 @@ import java.util.function.BiConsumer; import org.hibernate.models.internal.util.CollectionHelper; -import org.hibernate.models.jandex.spi.JandexModelContext; +import org.hibernate.models.jandex.spi.JandexModelsContext; import org.hibernate.models.jandex.spi.JandexValueExtractor; import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationInstance; import org.jboss.jandex.DotName; @@ -44,7 +44,7 @@ public class AnnotationUsageBuilder { */ public static Map, ? extends Annotation> collectUsages( org.jboss.jandex.AnnotationTarget jandexAnnotationTarget, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( jandexAnnotationTarget == null ) { return Collections.emptyMap(); } @@ -52,7 +52,7 @@ public class AnnotationUsageBuilder { processAnnotations( jandexAnnotationTarget.declaredAnnotations(), result::put, - buildingContext + modelsContext ); return result; } @@ -63,8 +63,8 @@ public class AnnotationUsageBuilder { public static void processAnnotations( Collection annotations, BiConsumer, Annotation> consumer, - SourceModelBuildingContext buildingContext) { - final AnnotationDescriptorRegistry annotationDescriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); + ModelsContext modelsContext) { + final AnnotationDescriptorRegistry annotationDescriptorRegistry = modelsContext.getAnnotationDescriptorRegistry(); for ( AnnotationInstance annotation : annotations ) { if ( annotation.name().equals( DOCUMENTED ) @@ -74,7 +74,7 @@ public static void processAnnotations( continue; } - final Class annotationType = buildingContext + final Class annotationType = modelsContext .getClassLoading() .classForName( annotation.name().toString() ); @@ -82,7 +82,7 @@ public static void processAnnotations( final Annotation usage = makeUsage( annotation, annotationDescriptor, - buildingContext + modelsContext ); consumer.accept( annotationType, usage ); } @@ -91,7 +91,7 @@ public static void processAnnotations( public static A makeUsage( AnnotationInstance jandexAnnotation, AnnotationDescriptor annotationDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final Map attributeValues = extractAttributeValues( jandexAnnotation, annotationDescriptor, @@ -107,7 +107,7 @@ public static A makeUsage( public static Map extractAttributeValues( AnnotationInstance annotationInstance, AnnotationDescriptor annotationDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { if ( CollectionHelper.isEmpty( annotationDescriptor.getAttributes() ) ) { return Collections.emptyMap(); } @@ -116,7 +116,7 @@ public static Map extractAttributeValues( for ( int i = 0; i < annotationDescriptor.getAttributes().size(); i++ ) { final AttributeDescriptor attributeDescriptor = annotationDescriptor.getAttributes().get( i ); final JandexValueExtractor extractor = modelContext - .as( JandexModelContext.class ) + .as( JandexModelsContext.class ) .getJandexValueExtractor( attributeDescriptor.getTypeDescriptor() ); final Object attributeValue = extractor.extractValue( annotationInstance, diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexAnnotationDescriptorRegistry.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexAnnotationDescriptorRegistry.java index 65478a9..6f2cb69 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexAnnotationDescriptorRegistry.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexAnnotationDescriptorRegistry.java @@ -5,13 +5,15 @@ package org.hibernate.models.jandex.internal; import org.hibernate.models.internal.AnnotationDescriptorRegistryStandard; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** + * AnnotationDescriptorRegistry implementation based on Jandex. + * * @author Steve Ebersole */ public class JandexAnnotationDescriptorRegistry extends AnnotationDescriptorRegistryStandard { - public JandexAnnotationDescriptorRegistry(SourceModelBuildingContext modelBuildingContext) { - super( modelBuildingContext ); + public JandexAnnotationDescriptorRegistry(ModelsContext modelsContext) { + super( modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java index f16bb0a..bacb0ef 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java @@ -41,7 +41,7 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; import org.jboss.jandex.ClassInfo; @@ -73,7 +73,7 @@ public class JandexBuilders { public static ClassDetails buildDetailsFromIndex( String name, IndexView jandexIndex, - SourceModelBuildingContext modelsContext) { + ModelsContext modelsContext) { if ( StringHelper.isEmpty( name ) ) { return null; } @@ -106,7 +106,7 @@ public static ClassDetails buildDetailsFromIndex( public static JandexMethodDetails buildMethodDetails( MethodInfo method, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( method.parametersCount() == 0 ) { // could be a getter final Type returnType = method.returnType(); @@ -116,9 +116,9 @@ public static JandexMethodDetails buildMethodDetails( return new JandexMethodDetails( method, MethodDetails.MethodKind.GETTER, - JandexTypeSwitchStandard.switchType( returnType, declaringType, buildingContext ), + JandexTypeSwitchStandard.switchType( returnType, declaringType, modelsContext ), declaringType, - buildingContext + modelsContext ); } else if ( isBoolean( returnType ) && ( methodName.startsWith( "is" ) @@ -127,9 +127,9 @@ else if ( isBoolean( returnType ) && ( methodName.startsWith( "is" ) return new JandexMethodDetails( method, MethodDetails.MethodKind.GETTER, - JandexTypeSwitchStandard.switchType( returnType, declaringType, buildingContext ), + JandexTypeSwitchStandard.switchType( returnType, declaringType, modelsContext ), declaringType, - buildingContext + modelsContext ); } } @@ -141,9 +141,9 @@ else if ( isBoolean( returnType ) && ( methodName.startsWith( "is" ) return new JandexMethodDetails( method, MethodDetails.MethodKind.SETTER, - JandexTypeSwitchStandard.switchType( method.parameterType( 0 ), declaringType, buildingContext ), + JandexTypeSwitchStandard.switchType( method.parameterType( 0 ), declaringType, modelsContext ), declaringType, - buildingContext + modelsContext ); } @@ -152,7 +152,7 @@ else if ( isBoolean( returnType ) && ( methodName.startsWith( "is" ) MethodDetails.MethodKind.OTHER, null, declaringType, - buildingContext + modelsContext ); } @@ -168,7 +168,7 @@ public static JandexValueConverter buildValueHandlersReturnConverter( ValueTypeDescriptor valueTypeDescriptor, BiConsumer,JandexValueConverter> converterCollector, BiConsumer, JandexValueExtractor> extractorCollector, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( valueTypeDescriptor.getValueType().isArray() ) { final ValueTypeDescriptor elementTypeDescriptor = ( (ArrayTypeDescriptor) valueTypeDescriptor ).getElementTypeDescriptor(); final ArrayValueConverter valueConverter = new ArrayValueConverter<>( elementTypeDescriptor ); @@ -233,7 +233,7 @@ public static JandexValueConverter buildValueHandlersReturnConverter( } if ( valueTypeDescriptor.getValueType().isAnnotation() ) { - final AnnotationDescriptor annotationDescriptor = buildingContext.getAnnotationDescriptorRegistry() + final AnnotationDescriptor annotationDescriptor = modelsContext.getAnnotationDescriptorRegistry() .getDescriptor( (Class) valueTypeDescriptor.getValueType() ); final JandexNestedValueConverter jandexNestedValueConverter = new JandexNestedValueConverter<>( annotationDescriptor ); final JandexNestedValueExtractor jandexNestedValueExtractor = new JandexNestedValueExtractor<>( jandexNestedValueConverter ); @@ -266,7 +266,7 @@ public static JandexValueExtractor buildValueHandlersReturnExtractor( ValueTypeDescriptor valueTypeDescriptor, BiConsumer,JandexValueConverter> converterCollector, BiConsumer,JandexValueExtractor> extractorCollector, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( valueTypeDescriptor.getValueType().isArray() ) { final ValueTypeDescriptor elementTypeDescriptor = ( (ArrayTypeDescriptor) valueTypeDescriptor ).getElementTypeDescriptor(); final ArrayValueConverter valueConverter = new ArrayValueConverter<>( elementTypeDescriptor ); @@ -331,7 +331,7 @@ public static JandexValueExtractor buildValueHandlersReturnExtractor( } if ( valueTypeDescriptor.getValueType().isAnnotation() ) { - final AnnotationDescriptor annotationDescriptor = buildingContext.getAnnotationDescriptorRegistry() + final AnnotationDescriptor annotationDescriptor = modelsContext.getAnnotationDescriptorRegistry() .getDescriptor( (Class) valueTypeDescriptor.getValueType() ); final JandexNestedValueConverter jandexNestedValueConverter = new JandexNestedValueConverter<>( annotationDescriptor ); final JandexNestedValueExtractor jandexNestedValueExtractor = new JandexNestedValueExtractor<>( jandexNestedValueConverter ); diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetails.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetails.java index ac46d8c..3c03cae 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetails.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetails.java @@ -18,8 +18,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -51,7 +50,7 @@ public class JandexClassDetails extends AbstractAnnotationTarget implements Clas private List methods; private List recordComponents; - public JandexClassDetails(ClassInfo classInfo, SourceModelBuildingContext modelContext) { + public JandexClassDetails(ClassInfo classInfo, ModelsContext modelContext) { super( modelContext ); this.classInfo = classInfo; @@ -222,7 +221,7 @@ public Class toJavaClass() { } @Override - public Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) { + public Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext) { if ( getClassName() == null ) { throw new DynamicClassException( "ClassDetails (name=" + getName() + ") did not specify a class-name" ); } @@ -237,27 +236,27 @@ public String toString() { private static ClassDetails determineSuperType( ClassInfo classInfo, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( classInfo.superClassType() == null ) { return null; } - return buildingContext + return modelsContext .getClassDetailsRegistry() .resolveClassDetails( classInfo.superClassType().name().toString() ); } - private static TypeDetails determineGenericSuperType(ClassInfo classInfo, SourceModelBuildingContext buildingContext) { + private static TypeDetails determineGenericSuperType(ClassInfo classInfo, ModelsContext modelsContext) { if ( classInfo.superClassType() == null ) { return null; } - return JandexTypeSwitchStandard.switchType( classInfo.superClassType(), buildingContext ); + return JandexTypeSwitchStandard.switchType( classInfo.superClassType(), modelsContext ); } private static List determineInterfaces( ClassInfo classInfo, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final List interfaceTypes = classInfo.interfaceTypes(); if ( isEmpty( interfaceTypes ) ) { return emptyList(); @@ -267,14 +266,14 @@ private static List determineInterfaces( for ( Type interfaceType : interfaceTypes ) { final TypeDetails switchedType = JandexTypeSwitchStandard.switchType( interfaceType, - buildingContext + modelsContext ); result.add( switchedType ); } return result; } - private static List determineTypeParameters(ClassInfo classInfo, JandexClassDetails current, SourceModelBuildingContext buildingContext) { + private static List determineTypeParameters(ClassInfo classInfo, JandexClassDetails current, ModelsContext modelsContext) { final List jandexTypeVariables = classInfo.typeParameters(); if ( CollectionHelper.isEmpty( jandexTypeVariables ) ) { return emptyList(); @@ -282,7 +281,7 @@ private static List determineTypeParameters(ClassInfo class final ArrayList result = arrayList( jandexTypeVariables.size() ); for ( TypeVariable jandexTypeVariable : jandexTypeVariables ) { - result.add( (TypeVariableDetails) JandexTypeSwitchStandard.switchType( jandexTypeVariable, current, buildingContext ) ); + result.add( (TypeVariableDetails) JandexTypeSwitchStandard.switchType( jandexTypeVariable, current, modelsContext ) ); } return result; } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsBuilderImpl.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsBuilderImpl.java index 3e98a6b..f27bb11 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsBuilderImpl.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsBuilderImpl.java @@ -6,7 +6,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsBuilder; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.IndexView; @@ -16,12 +16,13 @@ public class JandexClassDetailsBuilderImpl implements ClassDetailsBuilder { private final IndexView jandexIndex; - public JandexClassDetailsBuilderImpl(IndexView jandexIndex, SourceModelBuildingContext buildingContext) { + @SuppressWarnings("unused") + public JandexClassDetailsBuilderImpl(IndexView jandexIndex, ModelsContext modelsContext) { this.jandexIndex = jandexIndex; } @Override - public ClassDetails buildClassDetails(String name, SourceModelBuildingContext buildingContext) { - return JandexBuilders.buildDetailsFromIndex( name, jandexIndex, buildingContext ); + public ClassDetails buildClassDetails(String name, ModelsContext modelsContext) { + return JandexBuilders.buildDetailsFromIndex( name, jandexIndex, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsRegistry.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsRegistry.java index 6ca8f0c..022db61 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsRegistry.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexClassDetailsRegistry.java @@ -10,7 +10,7 @@ import org.hibernate.models.internal.jdk.JdkClassDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsBuilder; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.IndexView; @@ -23,12 +23,13 @@ public class JandexClassDetailsRegistry extends AbstractClassDetailsRegistry { private final IndexView jandexIndex; private final ClassDetailsBuilder classDetailsBuilder; - public JandexClassDetailsRegistry(IndexView jandexIndex, SourceModelBuildingContext context) { + public JandexClassDetailsRegistry(IndexView jandexIndex, ModelsContext context) { super( context ); this.jandexIndex = jandexIndex; this.classDetailsBuilder = new JandexClassDetailsBuilderImpl( jandexIndex, context ); } + @SuppressWarnings("unused") public IndexView getJandexIndex() { return jandexIndex; } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexFieldDetails.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexFieldDetails.java index 24df82c..c7db368 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexFieldDetails.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexFieldDetails.java @@ -20,8 +20,7 @@ import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.jboss.jandex.AnnotationTarget; @@ -43,11 +42,11 @@ public class JandexFieldDetails extends AbstractAnnotationTarget public JandexFieldDetails( FieldInfo fieldInfo, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { - super( buildingContext ); + ModelsContext modelsContext) { + super( modelsContext ); this.fieldInfo = fieldInfo; this.declaringType = declaringType; - this.type = JandexTypeSwitchStandard.switchType( fieldInfo.type(), declaringType, buildingContext ); + this.type = JandexTypeSwitchStandard.switchType( fieldInfo.type(), declaringType, modelsContext ); this.isArray = fieldInfo.type().kind() == Type.Kind.ARRAY; this.isPlural = isArray || type.isImplementor( Collection.class ) || type.isImplementor( Map.class ); @@ -100,7 +99,7 @@ public Field toJavaMember() { } @Override - public Field toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Field toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { // make sure the type ends up on the given class-loading type.determineRawClass().toJavaClass( classLoading, modelContext ); return resolveJavaMember( declaringClass ); diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexMethodDetails.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexMethodDetails.java index 29e9a0e..8d9448e 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexMethodDetails.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexMethodDetails.java @@ -24,8 +24,7 @@ import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeDetailsHelper; import org.hibernate.models.spi.TypeVariableScope; @@ -57,14 +56,14 @@ public JandexMethodDetails( MethodKind methodKind, TypeDetails type, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { - super( buildingContext ); + ModelsContext modelsContext) { + super( modelsContext ); this.methodInfo = methodInfo; this.methodKind = methodKind; this.type = type; this.declaringType = declaringType; - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); this.returnType = classDetailsRegistry.resolveClassDetails( methodInfo.returnType().name().toString() ); this.argumentTypes = new ArrayList<>( methodInfo.parametersCount() ); @@ -162,7 +161,7 @@ public Method toJavaMember() { } @Override - public Method toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Method toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { return ReflectionHelper.resolveJavaMember( this, declaringClass, diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelContextImpl.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelsContextImpl.java similarity index 89% rename from hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelContextImpl.java rename to hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelsContextImpl.java index 58740a8..e4b7dd8 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelContextImpl.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelsContextImpl.java @@ -7,9 +7,9 @@ import java.util.HashMap; import java.util.Map; -import org.hibernate.models.internal.AbstractModelBuildingContext; +import org.hibernate.models.internal.AbstractModelsContext; import org.hibernate.models.internal.MutableAnnotationDescriptorRegistry; -import org.hibernate.models.jandex.spi.JandexModelContext; +import org.hibernate.models.jandex.spi.JandexModelsContext; import org.hibernate.models.jandex.spi.JandexValueConverter; import org.hibernate.models.jandex.spi.JandexValueExtractor; import org.hibernate.models.serial.internal.StorableContextImpl; @@ -23,20 +23,22 @@ import static org.hibernate.models.internal.ModelsClassLogging.MODELS_CLASS_LOGGER; /** - * SourceModelBuildingContext implementation based on Jandex + * Implementation of JandexModelsContext. * * @author Steve Ebersole */ -public class JandexModelContextImpl extends AbstractModelBuildingContext implements JandexModelContext { +public class JandexModelsContextImpl extends AbstractModelsContext implements JandexModelsContext { private final IndexView jandexIndex; private final JandexAnnotationDescriptorRegistry descriptorRegistry; private final JandexClassDetailsRegistry classDetailsRegistry; + @SuppressWarnings("rawtypes") private final Map valueConverters = new HashMap<>(); + @SuppressWarnings("rawtypes") private final Map valueExtractors = new HashMap<>(); - public JandexModelContextImpl( + public JandexModelsContextImpl( IndexView jandexIndex, ClassLoading classLoading, RegistryPrimer registryPrimer) { diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuildingContextProvider.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelsContextProvider.java similarity index 57% rename from hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuildingContextProvider.java rename to hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelsContextProvider.java index a123f52..69b7db5 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuildingContextProvider.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexModelsContextProvider.java @@ -6,35 +6,35 @@ import java.util.Map; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.internal.BasicModelsContextImpl; import org.hibernate.models.jandex.Settings; import org.hibernate.models.spi.ClassLoading; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelBuildingContextProvider; +import org.hibernate.models.spi.ModelsContextProvider; import org.jboss.jandex.IndexView; /** - * SourceModelBuildingContextProvider for {@code hibernate-models-jandex} + * ModelsContextProvider for {@code hibernate-models-jandex} * * @author Steve Ebersole */ -public class JandexBuildingContextProvider implements SourceModelBuildingContextProvider { - public static final JandexBuildingContextProvider JANDEX_PROVIDER = new JandexBuildingContextProvider(); +public class JandexModelsContextProvider implements ModelsContextProvider { + public static final JandexModelsContextProvider JANDEX_PROVIDER = new JandexModelsContextProvider(); @Override - public SourceModelBuildingContext produceContext( + public ModelsContext produceContext( ClassLoading classLoading, RegistryPrimer registryPrimer, Map configProperties) { final IndexView jandexIndex = resolveJandexIndex( configProperties ); if ( jandexIndex != null ) { - return new JandexModelContextImpl( jandexIndex, classLoading, registryPrimer ); + return new JandexModelsContextImpl( jandexIndex, classLoading, registryPrimer ); } - return new BasicModelBuildingContextImpl( classLoading, registryPrimer ); + return new BasicModelsContextImpl( classLoading, registryPrimer ); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexRecordComponentDetails.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexRecordComponentDetails.java index 257ee12..c92611a 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexRecordComponentDetails.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexRecordComponentDetails.java @@ -18,8 +18,7 @@ import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.jboss.jandex.AnnotationTarget; @@ -40,11 +39,11 @@ public class JandexRecordComponentDetails extends AbstractAnnotationTarget imple public JandexRecordComponentDetails( RecordComponentInfo recordComponentInfo, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { - super( buildingContext ); + ModelsContext modelsContext) { + super( modelsContext ); this.recordComponentInfo = recordComponentInfo; this.declaringType = declaringType; - this.type = JandexTypeSwitchStandard.switchType( recordComponentInfo.type(), declaringType, buildingContext ); + this.type = JandexTypeSwitchStandard.switchType( recordComponentInfo.type(), declaringType, modelsContext ); this.isArray = recordComponentInfo.type().kind() == Type.Kind.ARRAY; this.isPlural = isArray || type.isImplementor( Collection.class ) || type.isImplementor( Map.class ); @@ -92,7 +91,7 @@ public Member toJavaMember() { } @Override - public Member toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Member toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { // we could maybe resolve the corresponding method... return null; } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexTypeSwitchStandard.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexTypeSwitchStandard.java index e9d9524..4c80563 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexTypeSwitchStandard.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexTypeSwitchStandard.java @@ -21,7 +21,7 @@ import org.hibernate.models.jandex.spi.JandexTypeSwitch; import org.hibernate.models.jandex.spi.JandexTypeSwitcher; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeDetailsHelper; @@ -43,14 +43,14 @@ * @author Steve Ebersole */ public class JandexTypeSwitchStandard implements JandexTypeSwitch { - public static TypeDetails switchType(Type type, SourceModelBuildingContext buildingContext) { + public static TypeDetails switchType(Type type, ModelsContext modelsContext) { assert type.kind() != Type.Kind.TYPE_VARIABLE; - return switchType( type, null, buildingContext ); + return switchType( type, null, modelsContext ); } - public static TypeDetails switchType(Type type, ClassDetails declaringType, SourceModelBuildingContext buildingContext) { + public static TypeDetails switchType(Type type, ClassDetails declaringType, ModelsContext modelsContext) { final JandexTypeSwitchStandard genericVariableSwitch = new JandexTypeSwitchStandard( declaringType ); - return JandexTypeSwitcher.switchType( type, genericVariableSwitch, buildingContext ); + return JandexTypeSwitcher.switchType( type, genericVariableSwitch, modelsContext ); } private final ClassDetails declaringType; @@ -60,24 +60,24 @@ public JandexTypeSwitchStandard(ClassDetails declaringType) { } @Override - public TypeDetails caseClass(ClassType classType, SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + public TypeDetails caseClass(ClassType classType, ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( classType.name().toString() ); return new ClassTypeDetailsImpl( classDetails, TypeDetails.Kind.CLASS ); } @Override - public TypeDetails casePrimitive(PrimitiveType primitiveType, SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + public TypeDetails casePrimitive(PrimitiveType primitiveType, ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( primitiveType.name().toString() ); return new PrimitiveTypeDetailsImpl( classDetails ); } @Override - public TypeDetails caseVoid(VoidType voidType, SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + public TypeDetails caseVoid(VoidType voidType, ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() // allows for void or Void .resolveClassDetails( voidType.name().toString() ); @@ -87,23 +87,23 @@ public TypeDetails caseVoid(VoidType voidType, SourceModelBuildingContext buildi @Override public TypeDetails caseParameterizedType( ParameterizedType parameterizedType, - SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext + ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( parameterizedType.name().toString() ); return new ParameterizedTypeDetailsImpl( classDetails, - resolveTypes( parameterizedType.arguments(), this, buildingContext ), + resolveTypes( parameterizedType.arguments(), this, modelsContext ), null ); } @Override - public TypeDetails caseWildcardType(WildcardType wildcardType, SourceModelBuildingContext buildingContext) { + public TypeDetails caseWildcardType(WildcardType wildcardType, ModelsContext modelsContext) { try { final Type bound = (Type) BOUND_METHOD.invoke( wildcardType ); final boolean isExtends = (boolean) IS_EXTENDS_METHOD.invoke( wildcardType ); - return new WildcardTypeDetailsImpl( JandexTypeSwitcher.switchType( bound, this, buildingContext ), isExtends ); + return new WildcardTypeDetailsImpl( JandexTypeSwitcher.switchType( bound, this, modelsContext ), isExtends ); } catch (IllegalAccessException | InvocationTargetException e) { throw new RuntimeException( e ); @@ -111,43 +111,43 @@ public TypeDetails caseWildcardType(WildcardType wildcardType, SourceModelBuildi } @Override - public TypeDetails caseTypeVariable(TypeVariable typeVariable, SourceModelBuildingContext buildingContext) { + public TypeDetails caseTypeVariable(TypeVariable typeVariable, ModelsContext modelsContext) { return new TypeVariableDetailsImpl( typeVariable.identifier(), declaringType, - resolveTypes( typeVariable.bounds(), this, buildingContext ) + resolveTypes( typeVariable.bounds(), this, modelsContext ) ); } @Override public TypeDetails caseTypeVariableReference( TypeVariableReference typeVariableReference, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { return new TypeVariableReferenceDetailsImpl( typeVariableReference.identifier() ); } @Override - public TypeDetails caseArrayType(ArrayType arrayType, SourceModelBuildingContext buildingContext) { - final TypeDetails componentTypeDetails = JandexTypeSwitcher.switchType( arrayType.componentType(), this, buildingContext ); - return TypeDetailsHelper.arrayOf( componentTypeDetails, buildingContext ); + public TypeDetails caseArrayType(ArrayType arrayType, ModelsContext modelsContext) { + final TypeDetails componentTypeDetails = JandexTypeSwitcher.switchType( arrayType.componentType(), this, modelsContext ); + return TypeDetailsHelper.arrayOf( componentTypeDetails, modelsContext ); } @Override - public TypeDetails defaultCase(Type type, SourceModelBuildingContext buildingContext) { + public TypeDetails defaultCase(Type type, ModelsContext modelsContext) { throw new UnsupportedOperationException( "Unexpected Type kind - " + type ); } public static List resolveTypes( List types, JandexTypeSwitch typeSwitch, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( CollectionHelper.isEmpty( types ) ) { return Collections.emptyList(); } final ArrayList result = arrayList( types.size() ); for ( Type actualTypeArgument : types ) { - final TypeDetails switchedType = JandexTypeSwitcher.switchType( actualTypeArgument, typeSwitch, buildingContext ); + final TypeDetails switchedType = JandexTypeSwitcher.switchType( actualTypeArgument, typeSwitch, modelsContext ); result.add( switchedType ); } return result; diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexValueHelper.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexValueHelper.java deleted file mode 100644 index 515f15c..0000000 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexValueHelper.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.jandex.internal; - -import java.lang.annotation.Annotation; - -import org.hibernate.models.jandex.spi.JandexModelContext; -import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; - -import org.jboss.jandex.AnnotationInstance; -import org.jboss.jandex.AnnotationValue; - -/** - * @author Steve Ebersole - */ -public class JandexValueHelper { - public static V extractValue( - AnnotationInstance usage, - AnnotationDescriptor descriptor, - String attributeName, - SourceModelBuildingContext modelContext) { - final AttributeDescriptor attribute = descriptor.getAttribute( attributeName ); - return extractValue( usage, attribute, modelContext ); - } - - public static V extractValue( - AnnotationInstance usage, - AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext) { - return modelContext.as( JandexModelContext.class ) - .getJandexValueExtractor( attributeDescriptor.getTypeDescriptor() ) - .extractValue( usage, attributeDescriptor, modelContext ); -// final AnnotationValue value = usage.value( attributeDescriptor.getName() ); -// if ( value == null ) { -// //noinspection unchecked -// return (V) attributeDescriptor.getAttributeMethod().getDefaultValue(); -// } -// -// return attributeDescriptor -// .getTypeDescriptor() -// .createValueConverter( modelContext ) -// .convert( value, modelContext ); - } - - public static V extractOptionalValue( - AnnotationInstance usage, - AnnotationDescriptor descriptor, - String attributeName, - SourceModelBuildingContext modelContext) { - return extractOptionalValue( usage, descriptor.getAttribute( attributeName ), modelContext ); - } - - public static V extractOptionalValue( - AnnotationInstance usage, - AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext) { - final AnnotationValue value = usage.value( attributeDescriptor.getName() ); - if ( value == null ) { - //noinspection unchecked - return (V) attributeDescriptor.getAttributeMethod().getDefaultValue(); - } - - return modelContext.as( JandexModelContext.class ) - .getJandexValueExtractor( attributeDescriptor.getTypeDescriptor() ) - .extractValue( usage, attributeDescriptor, modelContext ); - } -} diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/AbstractValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/AbstractValueExtractor.java index de64066..4295adc 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/AbstractValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/AbstractValueExtractor.java @@ -4,9 +4,9 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.jandex.spi.JandexModelContext; +import org.hibernate.models.jandex.spi.JandexModelsContext; import org.hibernate.models.jandex.spi.JandexValueExtractor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationInstance; import org.jboss.jandex.AnnotationValue; @@ -16,27 +16,27 @@ */ public abstract class AbstractValueExtractor implements JandexValueExtractor { - protected abstract W extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext); + protected abstract W extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext); @Override public W extractValue( AnnotationInstance annotation, String attributeName, - SourceModelBuildingContext buildingContext) { - final AnnotationValue jandexValue = resolveAnnotationValue( annotation, attributeName, buildingContext ); + ModelsContext modelsContext) { + final AnnotationValue jandexValue = resolveAnnotationValue( annotation, attributeName, modelsContext ); assert jandexValue != null; - return extractAndWrap( jandexValue, buildingContext ); + return extractAndWrap( jandexValue, modelsContext ); } protected AnnotationValue resolveAnnotationValue( AnnotationInstance annotation, String attributeName, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final AnnotationValue explicitValue = annotation.value( attributeName ); if ( explicitValue != null ) { return explicitValue; } - return annotation.valueWithDefault( buildingContext.as( JandexModelContext.class ).getJandexIndex(), attributeName ); + return annotation.valueWithDefault( modelsContext.as( JandexModelsContext.class ).getJandexIndex(), attributeName ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueConverter.java index 9118188..c877622 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueConverter.java @@ -6,9 +6,9 @@ import java.util.List; -import org.hibernate.models.jandex.spi.JandexModelContext; +import org.hibernate.models.jandex.spi.JandexModelsContext; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; import org.jboss.jandex.AnnotationValue; @@ -24,14 +24,14 @@ public ArrayValueConverter(ValueTypeDescriptor elementTypeDescriptor) { } @Override - public V[] convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public V[] convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; final List values = jandexValue.asArrayList(); assert values != null; final V[] result = elementTypeDescriptor.makeArray( values.size(), modelContext ); - final JandexValueConverter elementWrapper = modelContext.as( JandexModelContext.class ).getJandexValueConverter( elementTypeDescriptor ); + final JandexValueConverter elementWrapper = modelContext.as( JandexModelsContext.class ).getJandexValueConverter( elementTypeDescriptor ); for ( int i = 0; i < values.size(); i++ ) { result[i] = elementWrapper.convert( values.get( i ), modelContext ); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueExtractor.java index fcdb509..b2eadcb 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ArrayValueExtractor.java @@ -7,7 +7,7 @@ import java.util.List; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -22,12 +22,12 @@ public ArrayValueExtractor(JandexValueConverter wrapper) { } @Override - protected V[] extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected V[] extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; final List values = jandexValue.asArrayList(); assert values != null; - return wrapper.convert( jandexValue, buildingContext ); + return wrapper.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueConverter.java index 64d7604..bc4cec3 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class BooleanValueConverter implements JandexValueConverter { public static final BooleanValueConverter JANDEX_BOOLEAN_VALUE_WRAPPER = new BooleanValueConverter(); @Override - public Boolean convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Boolean convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asBoolean(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueExtractor.java index 5c4fb72..127f53a 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/BooleanValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -17,8 +17,8 @@ public class BooleanValueExtractor extends AbstractValueExtractor { public static final BooleanValueExtractor JANDEX_BOOLEAN_EXTRACTOR = new BooleanValueExtractor(); @Override - protected Boolean extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Boolean extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return BooleanValueConverter.JANDEX_BOOLEAN_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return BooleanValueConverter.JANDEX_BOOLEAN_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueConverter.java index e8234b3..6c1bdf8 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class ByteValueConverter implements JandexValueConverter { public static final ByteValueConverter JANDEX_BYTE_VALUE_WRAPPER = new ByteValueConverter(); @Override - public Byte convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Byte convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asByte(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueExtractor.java index 2e54cd9..6bff8e1 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ByteValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -17,8 +17,8 @@ public class ByteValueExtractor extends AbstractValueExtractor { public static final ByteValueExtractor JANDEX_BYTE_EXTRACTOR = new ByteValueExtractor(); @Override - protected Byte extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Byte extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return ByteValueConverter.JANDEX_BYTE_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return ByteValueConverter.JANDEX_BYTE_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueConverter.java index 0c99a19..0d20e0e 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class CharacterValueConverter implements JandexValueConverter public static final CharacterValueConverter JANDEX_CHARACTER_VALUE_WRAPPER = new CharacterValueConverter(); @Override - public Character convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Character convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asChar(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueExtractor.java index 1655de7..7befec5 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/CharacterValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -17,8 +17,8 @@ public class CharacterValueExtractor extends AbstractValueExtractor { public static final CharacterValueExtractor JANDEX_CHARACTER_EXTRACTOR = new CharacterValueExtractor(); @Override - protected Character extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Character extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return CharacterValueConverter.JANDEX_CHARACTER_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return CharacterValueConverter.JANDEX_CHARACTER_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueConverter.java index 8899562..86332be 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; import org.jboss.jandex.Type; @@ -20,7 +20,7 @@ public class ClassValueConverter implements JandexValueConverter> { public static final ClassValueConverter JANDEX_CLASS_VALUE_WRAPPER = new ClassValueConverter(); @Override - public Class convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Class convert(AnnotationValue jandexValue, ModelsContext modelContext) { final Type classReference = jandexValue.asClass(); if ( classReference == VoidType.VOID ) { return void.class; diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueExtractor.java index bbff253..5a39171 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ClassValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -15,8 +15,8 @@ public class ClassValueExtractor extends AbstractValueExtractor> { public static final ClassValueExtractor JANDEX_CLASS_EXTRACTOR = new ClassValueExtractor(); @Override - protected Class extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Class extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return ClassValueConverter.JANDEX_CLASS_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return ClassValueConverter.JANDEX_CLASS_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueConverter.java index dadf5f5..dee967d 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class DoubleValueConverter implements JandexValueConverter { public static final DoubleValueConverter JANDEX_DOUBLE_VALUE_WRAPPER = new DoubleValueConverter(); @Override - public Double convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Double convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asDouble(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueExtractor.java index ff81b72..7a7f958 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/DoubleValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -17,8 +17,8 @@ public class DoubleValueExtractor extends AbstractValueExtractor { @Override protected Double extractAndWrap( AnnotationValue jandexValue, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { assert jandexValue != null; - return DoubleValueConverter.JANDEX_DOUBLE_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return DoubleValueConverter.JANDEX_DOUBLE_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueConverter.java index 4849a76..1c990cb 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -22,7 +22,7 @@ public EnumValueConverter(Class enumClass) { } @Override - public E convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public E convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; final String enumName = jandexValue.asEnum(); return Enum.valueOf( enumClass, enumName ); diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueExtractor.java index f2ec7ef..b6755a3 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/EnumValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -19,8 +19,8 @@ public EnumValueExtractor(EnumValueConverter wrapper) { } @Override - protected E extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected E extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return wrapper.convert( jandexValue, buildingContext ); + return wrapper.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueConverter.java index 2fab246..ce06fb9 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class FloatValueConverter implements JandexValueConverter { public static final FloatValueConverter JANDEX_FLOAT_VALUE_WRAPPER = new FloatValueConverter(); @Override - public Float convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Float convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asFloat(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueExtractor.java index 2b28968..a6a845a 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/FloatValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -15,8 +15,8 @@ public class FloatValueExtractor extends AbstractValueExtractor { public static final FloatValueExtractor JANDEX_FLOAT_EXTRACTOR = new FloatValueExtractor(); @Override - protected Float extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Float extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return FloatValueConverter.JANDEX_FLOAT_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return FloatValueConverter.JANDEX_FLOAT_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueConverter.java index fd93da9..119f584 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class IntegerValueConverter implements JandexValueConverter { public static final IntegerValueConverter JANDEX_INTEGER_VALUE_WRAPPER = new IntegerValueConverter(); @Override - public Integer convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Integer convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asInt(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueExtractor.java index 6c5a16f..5e4b374 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/IntegerValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -15,8 +15,8 @@ public class IntegerValueExtractor extends AbstractValueExtractor { public static final IntegerValueExtractor JANDEX_INTEGER_EXTRACTOR = new IntegerValueExtractor(); @Override - protected Integer extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Integer extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return IntegerValueConverter.JANDEX_INTEGER_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return IntegerValueConverter.JANDEX_INTEGER_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueConverter.java index 8f514b5..e6d1661 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueConverter.java @@ -9,7 +9,7 @@ import org.hibernate.models.jandex.internal.AnnotationUsageBuilder; import org.hibernate.models.jandex.spi.JandexValueConverter; import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationInstance; import org.jboss.jandex.AnnotationValue; @@ -28,7 +28,7 @@ public JandexNestedValueConverter(AnnotationDescriptor descriptor) { } @Override - public A convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public A convert(AnnotationValue jandexValue, ModelsContext modelContext) { final AnnotationInstance nested = jandexValue.asNested(); assert nested.target() == null; return AnnotationUsageBuilder.makeUsage( nested, descriptor, modelContext ); diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueExtractor.java index e09c5c3..938edd2 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/JandexNestedValueExtractor.java @@ -6,7 +6,7 @@ import java.lang.annotation.Annotation; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -23,7 +23,7 @@ public JandexNestedValueExtractor(JandexNestedValueConverter wrapper) { @Override protected A extractAndWrap( AnnotationValue jandexValue, - SourceModelBuildingContext buildingContext) { - return wrapper.convert( jandexValue, buildingContext ); + ModelsContext modelsContext) { + return wrapper.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueConverter.java index 4b83dff..530d544 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class LongValueConverter implements JandexValueConverter { public static final LongValueConverter JANDEX_LONG_VALUE_WRAPPER = new LongValueConverter(); @Override - public Long convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Long convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asLong(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueExtractor.java index 03bf499..c6bc73a 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/LongValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -15,8 +15,8 @@ public class LongValueExtractor extends AbstractValueExtractor { public static final LongValueExtractor JANDEX_LONG_EXTRACTOR = new LongValueExtractor(); @Override - protected Long extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Long extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return LongValueConverter.JANDEX_LONG_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return LongValueConverter.JANDEX_LONG_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueConverter.java index 5d447b8..2699eee 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class ShortValueConverter implements JandexValueConverter { public static final ShortValueConverter JANDEX_SHORT_VALUE_WRAPPER = new ShortValueConverter(); @Override - public Short convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public Short convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asShort(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueExtractor.java index 263a780..de3393a 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/ShortValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -14,9 +14,9 @@ public class ShortValueExtractor extends AbstractValueExtractor { public static final ShortValueExtractor JANDEX_SHORT_EXTRACTOR = new ShortValueExtractor(); - protected Short extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected Short extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return ShortValueConverter.JANDEX_SHORT_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return ShortValueConverter.JANDEX_SHORT_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueConverter.java index cd8da8a..c8e052b 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.internal.values; import org.hibernate.models.jandex.spi.JandexValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -18,7 +18,7 @@ public class StringValueConverter implements JandexValueConverter { public static final StringValueConverter JANDEX_STRING_VALUE_WRAPPER = new StringValueConverter(); @Override - public String convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext) { + public String convert(AnnotationValue jandexValue, ModelsContext modelContext) { assert jandexValue != null; return jandexValue.asString(); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueExtractor.java index 18262c4..2b26861 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/values/StringValueExtractor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.internal.values; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -15,8 +15,8 @@ public class StringValueExtractor extends AbstractValueExtractor { public static final StringValueExtractor JANDEX_STRING_EXTRACTOR = new StringValueExtractor(); @Override - protected String extractAndWrap(AnnotationValue jandexValue, SourceModelBuildingContext buildingContext) { + protected String extractAndWrap(AnnotationValue jandexValue, ModelsContext modelsContext) { assert jandexValue != null; - return StringValueConverter.JANDEX_STRING_VALUE_WRAPPER.convert( jandexValue, buildingContext ); + return StringValueConverter.JANDEX_STRING_VALUE_WRAPPER.convert( jandexValue, modelsContext ); } } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexModelContext.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexModelsContext.java similarity index 80% rename from hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexModelContext.java rename to hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexModelsContext.java index 904cfb8..be95a7d 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexModelContext.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexModelsContext.java @@ -4,18 +4,17 @@ */ package org.hibernate.models.jandex.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; import org.jboss.jandex.IndexView; /** - * SourceModelBuildingContext implementation using - * Jandex. + * ModelsContext implementation using Jandex. * * @author Steve Ebersole */ -public interface JandexModelContext extends SourceModelBuildingContext { +public interface JandexModelsContext extends ModelsContext { /** * The Jandex index */ diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitch.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitch.java index e6cb756..c6a0c25 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitch.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitch.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.ArrayType; import org.jboss.jandex.ClassType; @@ -27,45 +27,45 @@ public interface JandexTypeSwitch { /** * Handling for {@linkplain Type.Kind#CLASS class types}. */ - T caseClass(ClassType classType, SourceModelBuildingContext buildingContext); + T caseClass(ClassType classType, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#PRIMITIVE primitive types}. */ - T casePrimitive(PrimitiveType primitiveType, SourceModelBuildingContext buildingContext); + T casePrimitive(PrimitiveType primitiveType, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#VOID void types}. */ - T caseVoid(VoidType voidType, SourceModelBuildingContext buildingContext); + T caseVoid(VoidType voidType, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#PARAMETERIZED_TYPE parameterized types}. */ - T caseParameterizedType(ParameterizedType parameterizedType, SourceModelBuildingContext buildingContext); + T caseParameterizedType(ParameterizedType parameterizedType, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#WILDCARD_TYPE wildcard types}. */ - T caseWildcardType(WildcardType wildcardType, SourceModelBuildingContext buildingContext); + T caseWildcardType(WildcardType wildcardType, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#TYPE_VARIABLE type variable types}. */ - T caseTypeVariable(TypeVariable typeVariable, SourceModelBuildingContext buildingContext); + T caseTypeVariable(TypeVariable typeVariable, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#TYPE_VARIABLE_REFERENCE type variable reference types}. */ - T caseTypeVariableReference(TypeVariableReference typeVariableReference, SourceModelBuildingContext buildingContext); + T caseTypeVariableReference(TypeVariableReference typeVariableReference, ModelsContext modelsContext); /** * Handling for {@linkplain Type.Kind#ARRAY array types}. */ - T caseArrayType(ArrayType genericArrayType, SourceModelBuildingContext buildingContext); + T caseArrayType(ArrayType genericArrayType, ModelsContext modelsContext); /** * Fallback handling. */ - T defaultCase(Type t, SourceModelBuildingContext buildingContext); + T defaultCase(Type t, ModelsContext modelsContext); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitcher.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitcher.java index 9e69023..7cdbe0f 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitcher.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexTypeSwitcher.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.Type; @@ -28,7 +28,7 @@ public class JandexTypeSwitcher { public static T switchType( Type type, JandexTypeSwitch typeSwitch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { switch( type.kind() ) { case CLASS -> { return typeSwitch.caseClass( type.asClassType(), modelContext ); diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueConverter.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueConverter.java index 851bad9..7dc89bf 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueConverter.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueConverter.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.jandex.spi; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationValue; @@ -19,5 +19,5 @@ public interface JandexValueConverter { /** * Perform the conversion. */ - V convert(AnnotationValue jandexValue, SourceModelBuildingContext modelContext); + V convert(AnnotationValue jandexValue, ModelsContext modelContext); } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueExtractor.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueExtractor.java index ce49e3b..5079caf 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueExtractor.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/spi/JandexValueExtractor.java @@ -5,7 +5,7 @@ package org.hibernate.models.jandex.spi; import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.jboss.jandex.AnnotationInstance; @@ -24,7 +24,7 @@ public interface JandexValueExtractor { /** * Extract the value of the named attribute from the given annotation */ - V extractValue(AnnotationInstance annotation, String attributeName, SourceModelBuildingContext modelContext); + V extractValue(AnnotationInstance annotation, String attributeName, ModelsContext modelContext); /** * Extract the value of the described attribute from the given annotation @@ -32,7 +32,7 @@ public interface JandexValueExtractor { default V extractValue( AnnotationInstance annotation, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return extractValue( annotation, attributeDescriptor.getName(), modelContext ); } } diff --git a/hibernate-models-jandex/src/main/resources/META-INF/services/org.hibernate.models.spi.SourceModelBuildingContextProvider b/hibernate-models-jandex/src/main/resources/META-INF/services/org.hibernate.models.spi.ModelsContextProvider similarity index 69% rename from hibernate-models-jandex/src/main/resources/META-INF/services/org.hibernate.models.spi.SourceModelBuildingContextProvider rename to hibernate-models-jandex/src/main/resources/META-INF/services/org.hibernate.models.spi.ModelsContextProvider index 274b74c..cb1871f 100644 --- a/hibernate-models-jandex/src/main/resources/META-INF/services/org.hibernate.models.spi.SourceModelBuildingContextProvider +++ b/hibernate-models-jandex/src/main/resources/META-INF/services/org.hibernate.models.spi.ModelsContextProvider @@ -4,4 +4,4 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright: Red Hat Inc. and Hibernate Authors # -org.hibernate.models.jandex.internal.JandexBuildingContextProvider \ No newline at end of file +org.hibernate.models.jandex.internal.JandexModelsContextProvider \ No newline at end of file diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelContextFactoryImpl.java b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelsContextFactoryImpl.java similarity index 77% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelContextFactoryImpl.java rename to hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelsContextFactoryImpl.java index 314a078..9db678c 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelContextFactoryImpl.java +++ b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelsContextFactoryImpl.java @@ -9,10 +9,10 @@ import org.hibernate.models.internal.BaseLineJavaTypes; import org.hibernate.models.internal.util.CollectionHelper; import org.hibernate.models.jandex.internal.JandexIndexerHelper; -import org.hibernate.models.jandex.internal.JandexModelContextImpl; +import org.hibernate.models.jandex.internal.JandexModelsContextImpl; import org.hibernate.models.spi.ClassLoading; import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.testing.intg.ModelContextFactory; +import org.hibernate.models.testing.intg.ModelsContextFactory; import org.hibernate.models.testing.orm.JpaAnnotations; import org.jboss.jandex.Index; @@ -23,15 +23,13 @@ /** * @author Steve Ebersole */ -public class JandexModelContextFactoryImpl implements ModelContextFactory { - public static final JandexModelContextFactoryImpl CONTEXT_FACTORY = new JandexModelContextFactoryImpl(); - +public class JandexModelsContextFactoryImpl implements ModelsContextFactory { @Override - public JandexModelContextImpl createModelContext( + public JandexModelsContextImpl createModelContext( RegistryPrimer registryPrimer, Class... modelClasses) { final Index jandexIndex = buildJandexIndex( SIMPLE_CLASS_LOADING, modelClasses ); - return new JandexModelContextImpl( jandexIndex, SIMPLE_CLASS_LOADING, registryPrimer ); + return new JandexModelsContextImpl( jandexIndex, SIMPLE_CLASS_LOADING, registryPrimer ); } public static Index buildJandexIndex(ClassLoading classLoadingAccess, Class... modelClasses) { diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java index 965c2b0..08805ba 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java +++ b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/tests/ProviderTests.java @@ -4,12 +4,12 @@ */ package org.hibernate.models.testing.tests; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.internal.BasicModelsContextImpl; import org.hibernate.models.jandex.Settings; -import org.hibernate.models.jandex.internal.JandexModelContextImpl; +import org.hibernate.models.jandex.internal.JandexModelsContextImpl; import org.hibernate.models.spi.ModelsConfiguration; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.testing.shared.intg.JandexModelContextFactoryImpl; +import org.hibernate.models.spi.ModelsContext; +import org.hibernate.models.testing.shared.intg.JandexModelsContextFactoryImpl; import org.junit.jupiter.api.Test; @@ -17,7 +17,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; -import static org.hibernate.models.jandex.internal.JandexBuildingContextProvider.JANDEX_PROVIDER; +import static org.hibernate.models.jandex.internal.JandexModelsContextProvider.JANDEX_PROVIDER; /** * @author Steve Ebersole @@ -25,29 +25,29 @@ public class ProviderTests { @Test void testBasicBootstrap() { - final SourceModelBuildingContext context = new ModelsConfiguration() + final ModelsContext context = new ModelsConfiguration() .bootstrap(); assertThat( context ).isNotNull(); - assertThat( context ).isInstanceOf( BasicModelBuildingContextImpl.class ); + assertThat( context ).isInstanceOf( BasicModelsContextImpl.class ); } @Test void testExplicitProvider() { - final SourceModelBuildingContext context = new ModelsConfiguration() + final ModelsContext context = new ModelsConfiguration() .setExplicitContextProvider( JANDEX_PROVIDER ) .bootstrap(); assertThat( context ).isNotNull(); // without passing the Index, the basic one is used - assertThat( context ).isInstanceOf( BasicModelBuildingContextImpl.class ); + assertThat( context ).isInstanceOf( BasicModelsContextImpl.class ); } @Test void testPassingJandexIndex() { - final Index index = JandexModelContextFactoryImpl.buildJandexIndex( SIMPLE_CLASS_LOADING ); - final SourceModelBuildingContext context = new ModelsConfiguration() + final Index index = JandexModelsContextFactoryImpl.buildJandexIndex( SIMPLE_CLASS_LOADING ); + final ModelsContext context = new ModelsConfiguration() .configValue( Settings.INDEX_PARAM, index ) .bootstrap(); assertThat( context ).isNotNull(); - assertThat( context ).isInstanceOf( JandexModelContextImpl.class ); + assertThat( context ).isInstanceOf( JandexModelsContextImpl.class ); } } diff --git a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory deleted file mode 100644 index 49ec2ea..0000000 --- a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory +++ /dev/null @@ -1 +0,0 @@ -org.hibernate.models.testing.shared.intg.JandexModelContextFactoryImpl \ No newline at end of file diff --git a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory new file mode 100644 index 0000000..c6d6370 --- /dev/null +++ b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelsContextFactory @@ -0,0 +1 @@ +org.hibernate.models.testing.shared.intg.JandexModelsContextFactoryImpl \ No newline at end of file diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java deleted file mode 100644 index 59830df..0000000 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.testing.intg; - -import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; - -/** - * Java service loadable factory for {@linkplain SourceModelBuildingContext} - * instance as part of testing. - * - * @author Steve Ebersole - */ -public interface ModelContextFactory { - SourceModelBuildingContext createModelContext(RegistryPrimer registryPrimer, Class... modelClasses); -} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelsContextFactory.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelsContextFactory.java new file mode 100644 index 0000000..ba9022f --- /dev/null +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelsContextFactory.java @@ -0,0 +1,21 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.intg; + +import org.hibernate.models.spi.ModelsContext; +import org.hibernate.models.spi.RegistryPrimer; + +/** + * Java service loadable factory for {@linkplain ModelsContext} + * instance as part of testing. + * + * @author Steve Ebersole + */ +public interface ModelsContextFactory { + /** + * Create the ModelsContext to be used for tests + */ + ModelsContext createModelContext(RegistryPrimer registryPrimer, Class... modelClasses); +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/BasicAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/BasicAnnotation.java index b2b5bb2..269042d 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/BasicAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/BasicAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.Basic; import jakarta.persistence.FetchType; @@ -21,17 +21,17 @@ public class BasicAnnotation implements Basic { private FetchType fetch; private boolean optional; - public BasicAnnotation(SourceModelBuildingContext modelContext) { + public BasicAnnotation(ModelsContext modelContext) { fetch = FetchType.EAGER; optional = true; } - public BasicAnnotation(Basic usage, SourceModelBuildingContext modelContext) { + public BasicAnnotation(Basic usage, ModelsContext modelContext) { fetch = usage.fetch(); optional = usage.optional(); } - public BasicAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public BasicAnnotation(Map attributeValues, ModelsContext modelContext) { fetch = (FetchType) attributeValues.get( "fetch" ); optional = (boolean) attributeValues.get( "optional" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CacheableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CacheableAnnotation.java index cde31e6..87d6eff 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CacheableAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CacheableAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.Cacheable; @@ -18,15 +18,15 @@ public class CacheableAnnotation implements Cacheable { private boolean value; - public CacheableAnnotation(SourceModelBuildingContext modelContext) { + public CacheableAnnotation(ModelsContext modelContext) { value = true; } - public CacheableAnnotation(Cacheable usage, SourceModelBuildingContext modelContext) { + public CacheableAnnotation(Cacheable usage, ModelsContext modelContext) { value = usage.value(); } - public CacheableAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public CacheableAnnotation(Map attributeValues, ModelsContext modelContext) { value = (boolean) attributeValues.get( "value" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java index c2243fc..ad2f45b 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.CheckConstraint; @@ -20,18 +20,18 @@ public class CheckConstraintAnnotation implements CheckConstraint { private String constraint; private String options; - public CheckConstraintAnnotation(SourceModelBuildingContext modelContext) { + public CheckConstraintAnnotation(ModelsContext modelContext) { name = ""; options = ""; } - public CheckConstraintAnnotation(CheckConstraint usage, SourceModelBuildingContext modelContext) { + public CheckConstraintAnnotation(CheckConstraint usage, ModelsContext modelContext) { this.name = usage.name(); this.constraint = usage.constraint(); this.options = usage.options(); } - public CheckConstraintAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public CheckConstraintAnnotation(Map attributeValues, ModelsContext modelContext) { this.name = (String) attributeValues.get( "name" ); this.constraint = (String) attributeValues.get( "constraint" ); this.options = (String) attributeValues.get( "options" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java index 16e32a8..67f9f78 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.CollectionTable; import jakarta.persistence.ForeignKey; @@ -18,6 +18,7 @@ /** * @author Steve Ebersole */ +@SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) public class CollectionTableAnnotation implements CollectionTable, CommonTableDetails { private String name; private String catalog; @@ -28,7 +29,7 @@ public class CollectionTableAnnotation implements CollectionTable, CommonTableDe private UniqueConstraint[] uniqueConstraints; private Index[] indexes; - public CollectionTableAnnotation(SourceModelBuildingContext modelContext) { + public CollectionTableAnnotation(ModelsContext modelContext) { name = ""; catalog = ""; schema = ""; @@ -39,7 +40,7 @@ public CollectionTableAnnotation(SourceModelBuildingContext modelContext) { indexes = new Index[0]; } - public CollectionTableAnnotation(CollectionTable usage, SourceModelBuildingContext modelContext) { + public CollectionTableAnnotation(CollectionTable usage, ModelsContext modelContext) { name = usage.name(); catalog = usage.catalog(); schema = usage.schema(); @@ -50,7 +51,7 @@ public CollectionTableAnnotation(CollectionTable usage, SourceModelBuildingConte indexes = usage.indexes(); } - public CollectionTableAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public CollectionTableAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); catalog = (String) attributeValues.get( "catalog" ); schema = (String) attributeValues.get( "schema" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnAnnotation.java index 87a1e2d..b4e2ca6 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.CheckConstraint; import jakarta.persistence.Column; @@ -36,7 +36,7 @@ public class ColumnAnnotation implements Column, ColumnDetails { private CheckConstraint[] check; - public ColumnAnnotation(SourceModelBuildingContext modelContext) { + public ColumnAnnotation(ModelsContext modelContext) { name = ""; table = ""; nullable = true; @@ -52,7 +52,7 @@ public ColumnAnnotation(SourceModelBuildingContext modelContext) { check = new CheckConstraint[0]; } - public ColumnAnnotation(Column usage, SourceModelBuildingContext modelContext) { + public ColumnAnnotation(Column usage, ModelsContext modelContext) { name = usage.name(); table = usage.table(); nullable = usage.nullable(); @@ -68,7 +68,7 @@ public ColumnAnnotation(Column usage, SourceModelBuildingContext modelContext) { check = extractRepeatedValues( usage, COLUMN.getAttribute( "check" ), modelContext ); } - public ColumnAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public ColumnAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); table = (String) attributeValues.get( "table" ); nullable = (boolean) attributeValues.get( "nullable" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java index 39b511d..b49a6c4 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java @@ -7,10 +7,11 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.ElementCollection; +@SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) public class ElementCollectionJpaAnnotation implements ElementCollection, AttributeMarker.Fetchable { private Class targetClass; private jakarta.persistence.FetchType fetch; @@ -18,7 +19,7 @@ public class ElementCollectionJpaAnnotation implements ElementCollection, Attrib /** * Used in creating dynamic annotation instances (e.g. from XML) */ - public ElementCollectionJpaAnnotation(SourceModelBuildingContext modelContext) { + public ElementCollectionJpaAnnotation(ModelsContext modelContext) { this.targetClass = void.class; this.fetch = jakarta.persistence.FetchType.LAZY; } @@ -26,7 +27,7 @@ public ElementCollectionJpaAnnotation(SourceModelBuildingContext modelContext) { /** * Used in creating annotation instances from JDK variant */ - public ElementCollectionJpaAnnotation(ElementCollection annotation, SourceModelBuildingContext modelContext) { + public ElementCollectionJpaAnnotation(ElementCollection annotation, ModelsContext modelContext) { this.targetClass = annotation.targetClass(); this.fetch = annotation.fetch(); } @@ -36,7 +37,7 @@ public ElementCollectionJpaAnnotation(ElementCollection annotation, SourceModelB */ public ElementCollectionJpaAnnotation( Map attributeValues, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { this.targetClass = (Class) attributeValues.get( "targetClass" ); this.fetch = (jakarta.persistence.FetchType) attributeValues.get( "fetch" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddableAnnotation.java new file mode 100644 index 0000000..137b744 --- /dev/null +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddableAnnotation.java @@ -0,0 +1,32 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; +import java.util.Map; + +import org.hibernate.models.spi.ModelsContext; + +import jakarta.persistence.Embeddable; + +/** + * @author Steve Ebersole + */ +@SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) +public class EmbeddableAnnotation implements Embeddable { + public EmbeddableAnnotation(ModelsContext modelContext) { + } + + public EmbeddableAnnotation(Embeddable usage, ModelsContext modelContext) { + } + + public EmbeddableAnnotation(Map attributeValues, ModelsContext modelContext) { + } + + @Override + public Class annotationType() { + return Embeddable.class; + } +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddedAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddedAnnotation.java new file mode 100644 index 0000000..bf6ebcc --- /dev/null +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EmbeddedAnnotation.java @@ -0,0 +1,32 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; +import java.util.Map; + +import org.hibernate.models.spi.ModelsContext; + +import jakarta.persistence.Embedded; + +/** + * @author Steve Ebersole + */ +@SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) +public class EmbeddedAnnotation implements Embedded { + public EmbeddedAnnotation(ModelsContext modelContext) { + } + + public EmbeddedAnnotation(Embedded usage, ModelsContext modelContext) { + } + + public EmbeddedAnnotation(Map attributeValues, ModelsContext modelContext) { + } + + @Override + public Class annotationType() { + return Embedded.class; + } +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EntityAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EntityAnnotation.java index 03c1c61..af3436a 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EntityAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EntityAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.Entity; @@ -18,15 +18,15 @@ public class EntityAnnotation implements Entity { private String name; - public EntityAnnotation(SourceModelBuildingContext modelContext) { + public EntityAnnotation(ModelsContext modelContext) { name = ""; } - public EntityAnnotation(Entity jdkAnnotation, SourceModelBuildingContext modelContext) { + public EntityAnnotation(Entity jdkAnnotation, ModelsContext modelContext) { this.name = jdkAnnotation.name(); } - public EntityAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public EntityAnnotation(Map attributeValues, ModelsContext modelContext) { this.name = (String) attributeValues.get( "name" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java index ed6997e..4d9201f 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.ConstraintMode; import jakarta.persistence.ForeignKey; @@ -22,21 +22,21 @@ public class ForeignKeyAnnotation implements ForeignKey { private String foreignKeyDefinition; private String options; - public ForeignKeyAnnotation(SourceModelBuildingContext modelContext) { + public ForeignKeyAnnotation(ModelsContext modelContext) { name = ""; value = ConstraintMode.CONSTRAINT; foreignKeyDefinition = ""; options = ""; } - public ForeignKeyAnnotation(ForeignKey usage, SourceModelBuildingContext modelContext) { + public ForeignKeyAnnotation(ForeignKey usage, ModelsContext modelContext) { name = usage.name(); value = usage.value(); foreignKeyDefinition = usage.foreignKeyDefinition(); options = usage.options(); } - public ForeignKeyAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public ForeignKeyAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); value = (ConstraintMode) attributeValues.get( "value" ); foreignKeyDefinition = (String) attributeValues.get( "foreignKeyDefinition" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IdAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IdAnnotation.java index 8f6b886..153b11b 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IdAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IdAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.Id; @@ -16,13 +16,13 @@ */ @SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) public class IdAnnotation implements Id { - public IdAnnotation(SourceModelBuildingContext modelContext) { + public IdAnnotation(ModelsContext modelContext) { } - public IdAnnotation(Id jdkAnnotation, SourceModelBuildingContext modelContext) { + public IdAnnotation(Id jdkAnnotation, ModelsContext modelContext) { } - public IdAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public IdAnnotation(Map attributeValues, ModelsContext modelContext) { } @Override diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IndexAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IndexAnnotation.java index 5584278..e8628de 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IndexAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IndexAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.Index; @@ -21,20 +21,20 @@ public class IndexAnnotation implements Index { private boolean unique; private String options; - public IndexAnnotation(SourceModelBuildingContext modelContext) { + public IndexAnnotation(ModelsContext modelContext) { name = ""; unique = false; options = ""; } - public IndexAnnotation(Index usage, SourceModelBuildingContext modelContext) { + public IndexAnnotation(Index usage, ModelsContext modelContext) { name = usage.name(); columnList = usage.columnList(); unique = usage.unique(); options = usage.options(); } - public IndexAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public IndexAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); columnList = (String) attributeValues.get( "columnList" ); unique = (boolean) attributeValues.get( "unique" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java index 71a5f84..10d84a6 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.orm.ColumnDetails.AlternateTableCapable; import org.hibernate.models.testing.orm.ColumnDetails.Definable; import org.hibernate.models.testing.orm.ColumnDetails.Mutable; @@ -22,6 +22,7 @@ /** * @author Steve Ebersole */ +@SuppressWarnings("ClassExplicitlyAnnotation") public class JoinColumnAnnotation implements JoinColumn, Nullable, Uniqueable, Mutable, Definable, AlternateTableCapable { private String name; @@ -39,7 +40,7 @@ public class JoinColumnAnnotation private String comment; - public JoinColumnAnnotation(SourceModelBuildingContext modelContext) { + public JoinColumnAnnotation(ModelsContext modelContext) { name = ""; table = ""; referencedColumnName = ""; @@ -54,7 +55,7 @@ public JoinColumnAnnotation(SourceModelBuildingContext modelContext) { check = new CheckConstraint[0]; } - public JoinColumnAnnotation(JoinColumn usage, SourceModelBuildingContext modelContext) { + public JoinColumnAnnotation(JoinColumn usage, ModelsContext modelContext) { name = usage.name(); table = usage.table(); referencedColumnName = usage.referencedColumnName(); @@ -69,7 +70,7 @@ public JoinColumnAnnotation(JoinColumn usage, SourceModelBuildingContext modelCo check = usage.check(); } - public JoinColumnAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public JoinColumnAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); table = (String) attributeValues.get( "table" ); referencedColumnName = (String) attributeValues.get( "referencedColumnName" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java index 6d1ce47..b742339 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.ForeignKey; import jakarta.persistence.JoinColumn; @@ -17,21 +17,22 @@ /** * @author Steve Ebersole */ +@SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) public class JoinColumnsAnnotation implements JoinColumns, RepeatableContainer { private JoinColumn[] value; private ForeignKey foreignKey; - public JoinColumnsAnnotation(SourceModelBuildingContext modelContext) { + public JoinColumnsAnnotation(ModelsContext modelContext) { value = new JoinColumn[0]; foreignKey = new ForeignKeyAnnotation( modelContext ); } - public JoinColumnsAnnotation(JoinColumns usage, SourceModelBuildingContext modelContext) { + public JoinColumnsAnnotation(JoinColumns usage, ModelsContext modelContext) { value = usage.value(); foreignKey = usage.foreignKey(); } - public JoinColumnsAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public JoinColumnsAnnotation(Map attributeValues, ModelsContext modelContext) { value = (JoinColumn[]) attributeValues.get( "value" ); foreignKey = (ForeignKey) attributeValues.get( "foreignKey" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JpaAnnotations.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JpaAnnotations.java index e19ff55..15826f5 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JpaAnnotations.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JpaAnnotations.java @@ -16,6 +16,8 @@ import jakarta.persistence.CollectionTable; import jakarta.persistence.Column; import jakarta.persistence.ElementCollection; +import jakarta.persistence.Embeddable; +import jakarta.persistence.Embedded; import jakarta.persistence.Entity; import jakarta.persistence.ForeignKey; import jakarta.persistence.Id; @@ -44,6 +46,7 @@ @SuppressWarnings("unused") public interface JpaAnnotations { AnnotationDescriptor ENTITY = new OrmAnnotationDescriptor<>( Entity.class, EntityAnnotation.class ); + AnnotationDescriptor EMBEDDABLE = new OrmAnnotationDescriptor<>( Embeddable.class, EmbeddableAnnotation.class ); AnnotationDescriptor ID = new OrmAnnotationDescriptor<>( Id.class, IdAnnotation.class ); @@ -51,6 +54,7 @@ public interface JpaAnnotations { AnnotationDescriptor SEQUENCE_GENERATOR = new OrmAnnotationDescriptor<>( SequenceGenerator.class, SequenceGeneratorAnnotation.class, SEQUENCE_GENERATORS ); AnnotationDescriptor BASIC = new OrmAnnotationDescriptor<>( Basic.class, BasicAnnotation.class ); + AnnotationDescriptor EMBEDDED = new OrmAnnotationDescriptor<>( Embedded.class, EmbeddedAnnotation.class ); AnnotationDescriptor ELEMENT_COLLECTION = new OrmAnnotationDescriptor<>( ElementCollection.class, ElementCollectionJpaAnnotation.class ); AnnotationDescriptor NAMED_QUERIES = new OrmAnnotationDescriptor<>( NamedQueries.class, NamedQueriesAnnotation.class ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java index d13a758..d5f8a71 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java @@ -8,7 +8,7 @@ import java.util.Map; import org.hibernate.models.internal.AnnotationUsageHelper; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.NamedNativeQueries; import jakarta.persistence.NamedNativeQuery; @@ -22,15 +22,15 @@ public class NamedNativeQueriesAnnotation implements NamedNativeQueries, RepeatableContainer { private NamedNativeQuery[] value; - public NamedNativeQueriesAnnotation(SourceModelBuildingContext modelContext) { + public NamedNativeQueriesAnnotation(ModelsContext modelContext) { value = new NamedNativeQuery[0]; } - public NamedNativeQueriesAnnotation(NamedNativeQueries usage, SourceModelBuildingContext modelContext) { + public NamedNativeQueriesAnnotation(NamedNativeQueries usage, ModelsContext modelContext) { value = AnnotationUsageHelper.extractRepeatedValues( usage, NAMED_NATIVE_QUERIES, modelContext ); } - public NamedNativeQueriesAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public NamedNativeQueriesAnnotation(Map attributeValues, ModelsContext modelContext) { value = (NamedNativeQuery[]) attributeValues.get( "value" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java index 8c749bb..4466024 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.ColumnResult; import jakarta.persistence.ConstructorResult; @@ -34,7 +34,7 @@ public class NamedNativeQueryAnnotation implements NamedNativeQuery, Named { private QueryHint[] hints; - public NamedNativeQueryAnnotation(SourceModelBuildingContext modelContext) { + public NamedNativeQueryAnnotation(ModelsContext modelContext) { resultClass = void.class; resultSetMapping = ""; entityResults = new EntityResult[0]; @@ -43,7 +43,7 @@ public NamedNativeQueryAnnotation(SourceModelBuildingContext modelContext) { hints = new QueryHint[0]; } - public NamedNativeQueryAnnotation(NamedNativeQuery usage, SourceModelBuildingContext modelContext) { + public NamedNativeQueryAnnotation(NamedNativeQuery usage, ModelsContext modelContext) { name = usage.name(); query = usage.query(); @@ -56,7 +56,7 @@ public NamedNativeQueryAnnotation(NamedNativeQuery usage, SourceModelBuildingCon hints = extractRepeatedValues( usage, NAMED_NATIVE_QUERY.getAttribute( "hints" ), modelContext ); } - public NamedNativeQueryAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public NamedNativeQueryAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); query = (String) attributeValues.get( "query" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java index bd6e23b..16f3079 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java @@ -8,7 +8,7 @@ import java.util.Map; import org.hibernate.models.internal.AnnotationUsageHelper; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.NamedQueries; import jakarta.persistence.NamedQuery; @@ -22,14 +22,14 @@ public class NamedQueriesAnnotation implements NamedQueries, RepeatableContainer { private NamedQuery[] value; - public NamedQueriesAnnotation(SourceModelBuildingContext modelContext) { + public NamedQueriesAnnotation(ModelsContext modelContext) { } - public NamedQueriesAnnotation(NamedQueries usage, SourceModelBuildingContext modelContext) { + public NamedQueriesAnnotation(NamedQueries usage, ModelsContext modelContext) { value = AnnotationUsageHelper.extractRepeatedValues( usage, NAMED_QUERIES, modelContext ); } - public NamedQueriesAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public NamedQueriesAnnotation(Map attributeValues, ModelsContext modelContext) { value = (NamedQuery[]) attributeValues.get( "value" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java index a2813b1..6e3c060 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.LockModeType; import jakarta.persistence.NamedQuery; @@ -26,18 +26,18 @@ public class NamedQueryAnnotation implements NamedQuery, Named { private LockModeType lockModeType; private QueryHint[] hints; - public NamedQueryAnnotation(SourceModelBuildingContext modelContext) { + public NamedQueryAnnotation(ModelsContext modelContext) { lockModeType = LockModeType.NONE; hints = new QueryHint[0]; } - public NamedQueryAnnotation(NamedQuery usage, SourceModelBuildingContext modelContext) { + public NamedQueryAnnotation(NamedQuery usage, ModelsContext modelContext) { name = usage.name(); query = usage.query(); hints = extractRepeatedValues( usage, NAMED_QUERY.getAttribute( "hints" ), modelContext ); } - public NamedQueryAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public NamedQueryAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); query = attributeValues.get( "query" ).toString(); hints = (QueryHint[]) attributeValues.get( "hints" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java index a89aabd..c5cfbec 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.PrimaryKeyJoinColumn; @@ -22,7 +22,7 @@ public class PrimaryKeyJoinColumnJpaAnnotation implements PrimaryKeyJoinColumn, /** * Used in creating dynamic annotation instances (e.g. from XML) */ - public PrimaryKeyJoinColumnJpaAnnotation(SourceModelBuildingContext modelContext) { + public PrimaryKeyJoinColumnJpaAnnotation(ModelsContext modelContext) { this.name = ""; this.referencedColumnName = ""; this.columnDefinition = ""; @@ -33,7 +33,7 @@ public PrimaryKeyJoinColumnJpaAnnotation(SourceModelBuildingContext modelContext /** * Used in creating annotation instances from JDK variant */ - public PrimaryKeyJoinColumnJpaAnnotation(PrimaryKeyJoinColumn annotation, SourceModelBuildingContext modelContext) { + public PrimaryKeyJoinColumnJpaAnnotation(PrimaryKeyJoinColumn annotation, ModelsContext modelContext) { this.name = annotation.name(); this.referencedColumnName = annotation.referencedColumnName(); this.columnDefinition = annotation.columnDefinition(); @@ -46,7 +46,7 @@ public PrimaryKeyJoinColumnJpaAnnotation(PrimaryKeyJoinColumn annotation, Source */ public PrimaryKeyJoinColumnJpaAnnotation( Map attributeValues, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { this.name = (String) attributeValues.get( "name" ); this.referencedColumnName = (String) attributeValues.get( "referencedColumnName" ); this.columnDefinition = (String) attributeValues.get( "columnDefinition" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java index 26bb4f4..cea4955 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.PrimaryKeyJoinColumn; import jakarta.persistence.PrimaryKeyJoinColumns; @@ -21,7 +21,7 @@ public class PrimaryKeyJoinColumnsJpaAnnotation /** * Used in creating dynamic annotation instances (e.g. from XML) */ - public PrimaryKeyJoinColumnsJpaAnnotation(SourceModelBuildingContext modelContext) { + public PrimaryKeyJoinColumnsJpaAnnotation(ModelsContext modelContext) { this.foreignKey = modelContext.getAnnotationDescriptorRegistry() .getDescriptor( jakarta.persistence.ForeignKey.class ) .createUsage( modelContext ); @@ -32,7 +32,7 @@ public PrimaryKeyJoinColumnsJpaAnnotation(SourceModelBuildingContext modelContex */ public PrimaryKeyJoinColumnsJpaAnnotation( PrimaryKeyJoinColumns annotation, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { this.value = annotation.value(); this.foreignKey = new ForeignKeyAnnotation( annotation.foreignKey(), modelContext ); } @@ -42,7 +42,7 @@ public PrimaryKeyJoinColumnsJpaAnnotation( */ public PrimaryKeyJoinColumnsJpaAnnotation( Map attributeValues, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { this.value = (PrimaryKeyJoinColumn[]) attributeValues.get( "value" ); this.foreignKey = (jakarta.persistence.ForeignKey) attributeValues.get( "foreignKey" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java index 22cd44e..926ece0 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.CheckConstraint; import jakarta.persistence.ForeignKey; @@ -35,7 +35,7 @@ public class SecondaryTableAnnotation implements SecondaryTable, CommonTableDeta private PrimaryKeyJoinColumn[] primaryKeyJoinColumns; private ForeignKey foreignKey; - public SecondaryTableAnnotation(SourceModelBuildingContext modelContext) { + public SecondaryTableAnnotation(ModelsContext modelContext) { catalog = ""; schema = ""; comment = ""; @@ -47,7 +47,7 @@ public SecondaryTableAnnotation(SourceModelBuildingContext modelContext) { foreignKey = new ForeignKeyAnnotation( modelContext ); } - public SecondaryTableAnnotation(SecondaryTable usage, SourceModelBuildingContext modelContext) { + public SecondaryTableAnnotation(SecondaryTable usage, ModelsContext modelContext) { name = usage.name(); catalog = usage.catalog(); schema = usage.schema(); @@ -60,7 +60,7 @@ public SecondaryTableAnnotation(SecondaryTable usage, SourceModelBuildingContext foreignKey = new ForeignKeyAnnotation( usage.foreignKey(), modelContext ); } - public SecondaryTableAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public SecondaryTableAnnotation(Map attributeValues, ModelsContext modelContext) { name = attributeValues.get( "name" ).toString(); catalog = (String) attributeValues.get( "catalog" ); schema = (String) attributeValues.get( "schema" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java index 8daed5a..c7aa71f 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java @@ -8,7 +8,7 @@ import java.util.Map; import org.hibernate.models.internal.AnnotationUsageHelper; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.SecondaryTable; import jakarta.persistence.SecondaryTables; @@ -22,16 +22,16 @@ public class SecondaryTablesAnnotation implements SecondaryTables, RepeatableContainer { private SecondaryTable[] value; - public SecondaryTablesAnnotation(SourceModelBuildingContext modelContext) { + public SecondaryTablesAnnotation(ModelsContext modelContext) { value = new SecondaryTable[0]; } - public SecondaryTablesAnnotation(SecondaryTables usage, SourceModelBuildingContext modelContext) { + public SecondaryTablesAnnotation(SecondaryTables usage, ModelsContext modelContext) { value = AnnotationUsageHelper.extractRepeatedValues( usage, SECONDARY_TABLES, modelContext ); } - public SecondaryTablesAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public SecondaryTablesAnnotation(Map attributeValues, ModelsContext modelContext) { value = (SecondaryTable[]) attributeValues.get( "value" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java index d940eb3..36c21c2 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.SequenceGenerator; @@ -24,7 +24,7 @@ public class SequenceGeneratorAnnotation implements SequenceGenerator, Named, Da private int allocationSize; private String options; - public SequenceGeneratorAnnotation(SourceModelBuildingContext modelContext) { + public SequenceGeneratorAnnotation(ModelsContext modelContext) { name = ""; sequenceName = ""; catalog = ""; @@ -34,7 +34,7 @@ public SequenceGeneratorAnnotation(SourceModelBuildingContext modelContext) { options = ""; } - public SequenceGeneratorAnnotation(SequenceGenerator usage, SourceModelBuildingContext modelContext) { + public SequenceGeneratorAnnotation(SequenceGenerator usage, ModelsContext modelContext) { name = usage.name(); sequenceName = usage.sequenceName(); catalog = usage.catalog(); @@ -44,7 +44,7 @@ public SequenceGeneratorAnnotation(SequenceGenerator usage, SourceModelBuildingC options = usage.options(); } - public SequenceGeneratorAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public SequenceGeneratorAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); sequenceName = (String) attributeValues.get( "sequenceName" ); catalog = (String) attributeValues.get( "catalog" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java index d8269c0..94daf2c 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java @@ -8,7 +8,7 @@ import java.util.Map; import org.hibernate.models.internal.AnnotationUsageHelper; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.SequenceGenerators; @@ -22,16 +22,16 @@ public class SequenceGeneratorsAnnotation implements SequenceGenerators, RepeatableContainer { private SequenceGenerator[] value; - public SequenceGeneratorsAnnotation(SourceModelBuildingContext modelContext) { + public SequenceGeneratorsAnnotation(ModelsContext modelContext) { value = new SequenceGenerator[0]; } - public SequenceGeneratorsAnnotation(SequenceGenerators usage, SourceModelBuildingContext modelContext) { + public SequenceGeneratorsAnnotation(SequenceGenerators usage, ModelsContext modelContext) { value = AnnotationUsageHelper.extractRepeatedValues( usage, SEQUENCE_GENERATORS, modelContext ); } - public SequenceGeneratorsAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public SequenceGeneratorsAnnotation(Map attributeValues, ModelsContext modelContext) { value = (SequenceGenerator[]) attributeValues.get( "value" ); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TableAnnotation.java index 515c5e5..9999125 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TableAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TableAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.CheckConstraint; import jakarta.persistence.Index; @@ -31,7 +31,7 @@ public class TableAnnotation implements Table, CommonTableDetails { private String comment; private String options; - public TableAnnotation(SourceModelBuildingContext modelContext) { + public TableAnnotation(ModelsContext modelContext) { name = ""; catalog = ""; schema = ""; @@ -42,7 +42,7 @@ public TableAnnotation(SourceModelBuildingContext modelContext) { check = new CheckConstraint[0]; } - public TableAnnotation(Table usage, SourceModelBuildingContext modelContext) { + public TableAnnotation(Table usage, ModelsContext modelContext) { name = usage.name(); catalog = usage.catalog(); schema = usage.schema(); @@ -53,7 +53,7 @@ public TableAnnotation(Table usage, SourceModelBuildingContext modelContext) { check = extractRepeatedValues( usage, TABLE.getAttribute( "check" ), modelContext ); } - public TableAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public TableAnnotation(Map attributeValues, ModelsContext modelContext) { name = (String) attributeValues.get( "name" ); catalog = (String) attributeValues.get( "catalog" ); schema = (String) attributeValues.get( "schema" ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TransientAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TransientAnnotation.java index eaee00d..d395e06 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TransientAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TransientAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.Transient; @@ -16,11 +16,11 @@ */ @SuppressWarnings({ "ClassExplicitlyAnnotation", "unused" }) public class TransientAnnotation implements Transient { - public TransientAnnotation(SourceModelBuildingContext modelContext) { + public TransientAnnotation(ModelsContext modelContext) { } - public TransientAnnotation(Transient source, SourceModelBuildingContext modelContext) { + public TransientAnnotation(Transient source, ModelsContext modelContext) { } - public TransientAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public TransientAnnotation(Map attributeValues, ModelsContext modelContext) { } @Override diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java index 64c5d01..4b2315e 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import java.util.Map; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import jakarta.persistence.UniqueConstraint; @@ -20,16 +20,16 @@ public class UniqueConstraintAnnotation implements UniqueConstraint { private String[] columnNames; private String options; - public UniqueConstraintAnnotation(SourceModelBuildingContext modelContext) { + public UniqueConstraintAnnotation(ModelsContext modelContext) { name = ""; options = ""; } - public UniqueConstraintAnnotation(UniqueConstraint usage, SourceModelBuildingContext modelContext) { + public UniqueConstraintAnnotation(UniqueConstraint usage, ModelsContext modelContext) { throw new UnsupportedOperationException( "Not implemented yet" ); } - public UniqueConstraintAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + public UniqueConstraintAnnotation(Map attributeValues, ModelsContext modelContext) { throw new UnsupportedOperationException( "Not implemented yet" ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/DynamicClassException.java b/hibernate-models/src/main/java/org/hibernate/models/DynamicClassException.java index 8eafc3b..aac03c6 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/DynamicClassException.java +++ b/hibernate-models/src/main/java/org/hibernate/models/DynamicClassException.java @@ -6,7 +6,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Generally indicates an attempt to resolve a {@linkplain ClassDetails} @@ -14,7 +14,7 @@ * specify a {@linkplain ClassDetails#getClassName() class name}. * * @see ClassDetails#toJavaClass() - * @see ClassDetails#toJavaClass(ClassLoading, SourceModelContext) + * @see ClassDetails#toJavaClass(ClassLoading, ModelsContext) * * @author Steve Ebersole */ @@ -22,8 +22,4 @@ public class DynamicClassException extends ModelsException { public DynamicClassException(String message) { super( message ); } - - public DynamicClassException(String message, Throwable cause) { - super( message, cause ); - } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractAnnotationDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractAnnotationDescriptor.java index 576ab64..df3561a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractAnnotationDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractAnnotationDescriptor.java @@ -12,10 +12,10 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; /** * Base support for {@link AnnotationDescriptor} implementations @@ -75,12 +75,12 @@ public Collection getDirectAnnotationUsages() { @Override public X[] getRepeatedAnnotationUsages( AnnotationDescriptor type, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return AnnotationUsageHelper.getRepeatedUsages( type, getUsageMap(), modelContext ); } @Override - public X[] getRepeatedAnnotationUsages(Class type, SourceModelBuildingContext modelContext) { + public X[] getRepeatedAnnotationUsages(Class type, ModelsContext modelContext) { return getRepeatedAnnotationUsages( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), modelContext ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractClassDetailsRegistry.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractClassDetailsRegistry.java index 7069272..286816a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractClassDetailsRegistry.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractClassDetailsRegistry.java @@ -12,7 +12,7 @@ import org.hibernate.models.UnknownClassException; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import static org.hibernate.models.spi.ClassDetails.CLASS_CLASS_DETAILS; import static org.hibernate.models.spi.ClassDetails.OBJECT_CLASS_DETAILS; @@ -25,21 +25,21 @@ * @author Steve Ebersole */ public abstract class AbstractClassDetailsRegistry implements MutableClassDetailsRegistry { - protected final SourceModelBuildingContext context; + protected final ModelsContext context; protected final Map classDetailsMap; // subtype per type protected final Map> subTypeClassDetailsMap; - protected AbstractClassDetailsRegistry(SourceModelBuildingContext context) { + protected AbstractClassDetailsRegistry(ModelsContext context) { this( new ConcurrentHashMap<>(), new ConcurrentHashMap<>(), context ); } protected AbstractClassDetailsRegistry( Map classDetailsMap, Map> subTypeClassDetailsMap, - SourceModelBuildingContext context) { + ModelsContext context) { this.classDetailsMap = classDetailsMap; this.subTypeClassDetailsMap = subTypeClassDetailsMap; this.context = context; diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractModelBuildingContext.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractModelsContext.java similarity index 86% rename from hibernate-models/src/main/java/org/hibernate/models/internal/AbstractModelBuildingContext.java rename to hibernate-models/src/main/java/org/hibernate/models/internal/AbstractModelsContext.java index e467ac8..d1047e9 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractModelBuildingContext.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractModelsContext.java @@ -9,18 +9,18 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassLoading; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; /** - * Base support for SourceModelBuildingContext implementations + * Base support for ModelsContext implementations * * @author Steve Ebersole */ -public abstract class AbstractModelBuildingContext implements SourceModelBuildingContext { +public abstract class AbstractModelsContext implements ModelsContext { private final ClassLoading classLoadingAccess; - public AbstractModelBuildingContext(ClassLoading classLoadingAccess) { + public AbstractModelsContext(ClassLoading classLoadingAccess) { this.classLoadingAccess = classLoadingAccess; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractTypeDescriptor.java index 5a786bc..0d05dc4 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AbstractTypeDescriptor.java @@ -14,8 +14,7 @@ import org.hibernate.models.spi.JdkValueExtractor; import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; /** @@ -32,12 +31,12 @@ public AttributeDescriptor createAttributeDescriptor( } @Override - public JdkValueConverter createJdkValueConverter(SourceModelBuildingContext modelContext) { + public JdkValueConverter createJdkValueConverter(ModelsContext modelContext) { return JdkPassThruConverter.passThruConverter(); } @Override - public JdkValueExtractor createJdkValueExtractor(SourceModelBuildingContext modelContext) { + public JdkValueExtractor createJdkValueExtractor(ModelsContext modelContext) { return JdkPassThruExtractor.passThruExtractor(); } @@ -47,12 +46,12 @@ public void render( Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { target.addLine( "%s = %s", name, attributeValue ); } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { target.addLine( "%s", attributeValue ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationDescriptorRegistryStandard.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationDescriptorRegistryStandard.java index 55bc9b5..dbbabef 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationDescriptorRegistryStandard.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationDescriptorRegistryStandard.java @@ -8,7 +8,7 @@ import java.lang.annotation.Repeatable; import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import static org.hibernate.models.internal.ModelsAnnotationLogging.MODELS_ANNOTATION_LOGGER; @@ -20,10 +20,10 @@ public class AnnotationDescriptorRegistryStandard extends AbstractAnnotationDescriptorRegistry implements MutableAnnotationDescriptorRegistry { - private final SourceModelBuildingContext modelBuildingContext; + private final ModelsContext modelsContext; - public AnnotationDescriptorRegistryStandard(SourceModelBuildingContext modelBuildingContext) { - this.modelBuildingContext = modelBuildingContext; + public AnnotationDescriptorRegistryStandard(ModelsContext modelsContext) { + this.modelsContext = modelsContext; } public void register(AnnotationDescriptor descriptor) { @@ -78,7 +78,7 @@ protected AnnotationDescriptor buildAnnotationDescript return new StandardAnnotationDescriptor<>( javaType, containerDescriptor, - modelBuildingContext + modelsContext ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetHelper.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetHelper.java index 9c80a0b..360360e 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetHelper.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetHelper.java @@ -11,7 +11,7 @@ import org.hibernate.models.internal.util.StringHelper; import org.hibernate.models.spi.AnnotationTarget; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Utilities related to {@linkplain org.hibernate.models.spi.AnnotationTarget} @@ -28,7 +28,7 @@ public class AnnotationTargetHelper { */ public static ClassDetails resolvePackageInfo( ClassDetails classDetails, - SourceModelBuildingContext modelBuildingContext) { + ModelsContext modelsContext) { if ( classDetails.getClassName() == null ) { return null; } @@ -39,16 +39,16 @@ public static ClassDetails resolvePackageInfo( final String packageInfoClassName = containingPackageName + ".package-info"; - return modelBuildingContext.getClassDetailsRegistry() + return modelsContext.getClassDetailsRegistry() .as( MutableClassDetailsRegistry.class ) .resolveClassDetails( packageInfoClassName, name -> { // see if there is a physical package-info Class - final Class packageInfoClass = modelBuildingContext.getClassLoading().findClassForName( packageInfoClassName ); + final Class packageInfoClass = modelsContext.getClassLoading().findClassForName( packageInfoClassName ); if ( packageInfoClass == null ) { return new MissingPackageInfoDetails( containingPackageName, packageInfoClassName ); } else { - return new JdkClassDetails( packageInfoClass, modelBuildingContext ); + return new JdkClassDetails( packageInfoClass, modelsContext ); } } ); } @@ -82,7 +82,7 @@ private AnnotationTargetHelper() { public static void walkContainers( AnnotationTarget annotationTarget, boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { if ( isPackage( annotationTarget ) ) { if ( !crossPackageBoundaries ) { @@ -116,7 +116,7 @@ private static boolean isPackage(AnnotationTarget annotationTarget) { public static void walkSelfAndContainers( AnnotationTarget self, boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { if ( self == null ) { return; @@ -129,7 +129,7 @@ public static void walkSelfAndContainers( public static T fromContainers( AnnotationTarget annotationTarget, boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Function matchingExtractor) { if ( isPackage( annotationTarget ) && !crossPackageBoundaries ) { return null; @@ -147,7 +147,7 @@ public static T fromContainers( public static T fromSelfAndContainers( AnnotationTarget self, boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Function matchingExtractor) { if ( self == null ) { return null; diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetSupport.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetSupport.java index 7dd933e..abc350e 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetSupport.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationTargetSupport.java @@ -14,11 +14,11 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.MutableAnnotationTarget; import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; /** * @author Steve Ebersole @@ -67,7 +67,7 @@ default boolean hasDirectAnnotationUsage(Class type) { } @Override - default boolean hasAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + default boolean hasAnnotationUsage(Class type, ModelsContext modelContext) { final boolean containsDirectly = getUsageMap().containsKey( type ); if ( containsDirectly ) { return true; @@ -83,19 +83,19 @@ default boolean hasAnnotationUsage(Class type, SourceM } @Override - default A getAnnotationUsage(AnnotationDescriptor descriptor, SourceModelBuildingContext modelContext) { + default A getAnnotationUsage(AnnotationDescriptor descriptor, ModelsContext modelContext) { return AnnotationUsageHelper.getUsage( descriptor, getUsageMap(), modelContext ); } @Override - default A getAnnotationUsage(Class annotationType, SourceModelBuildingContext modelContext) { + default A getAnnotationUsage(Class annotationType, ModelsContext modelContext) { return AnnotationUsageHelper.getUsage( annotationType, getUsageMap(), modelContext ); } @Override default A[] getRepeatedAnnotationUsages( AnnotationDescriptor type, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return AnnotationUsageHelper.getRepeatedUsages( type, getUsageMap(), modelContext ); } @@ -103,20 +103,21 @@ default A[] getRepeatedAnnotationUsages( default void forEachRepeatedAnnotationUsages( Class repeatableType, Class containerType, - SourceModelBuildingContext modelContext, Consumer consumer) { + ModelsContext modelContext, Consumer consumer) { AnnotationUsageHelper.forEachRepeatedAnnotationUsages( repeatableType, containerType, consumer, getUsageMap(), modelContext ); } + @SuppressWarnings("unused") @Override default void forEachRepeatedAnnotationUsages( AnnotationDescriptor repeatableDescriptor, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { AnnotationUsageHelper.forEachRepeatedAnnotationUsages( repeatableDescriptor, consumer, getUsageMap(), modelContext ); } @Override - default A locateAnnotationUsage(Class annotationType, SourceModelBuildingContext modelContext) { + default A locateAnnotationUsage(Class annotationType, ModelsContext modelContext) { // e.g., locate `@Nationalized` // first, check for direct use @@ -152,7 +153,7 @@ default A locateAnnotationUsage(Class annotationType, @Override default List getMetaAnnotated( Class metaAnnotationType, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final List usages = new ArrayList<>(); forEachDirectAnnotationUsage( (usage) -> { final Annotation metaUsage = usage.annotationType().getAnnotation( metaAnnotationType ); @@ -167,7 +168,7 @@ default List getMetaAnnotated( default X getNamedAnnotationUsage( Class type, String matchName, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return getNamedAnnotationUsage( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), matchName, modelContext ); } @@ -176,7 +177,7 @@ default X getNamedAnnotationUsage( AnnotationDescriptor type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return AnnotationUsageHelper.getNamedUsage( type, matchName, attributeToMatch, getUsageMap(), modelContext ); } @@ -185,7 +186,7 @@ default X getNamedAnnotationUsage( Class type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return getNamedAnnotationUsage( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), matchName, @@ -198,7 +199,7 @@ default X getNamedAnnotationUsage( default P replaceAnnotationUsage( AnnotationDescriptor repeatableType, AnnotationDescriptor

containerType, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { assert repeatableType.isRepeatable(); assert repeatableType.getRepeatableContainer() == containerType; diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationUsageHelper.java b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationUsageHelper.java index f79aa69..a30097b 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationUsageHelper.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/AnnotationUsageHelper.java @@ -13,8 +13,7 @@ import org.hibernate.models.internal.util.CollectionHelper; import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * @see AnnotationHelper @@ -35,7 +34,7 @@ public static A findUsage( public static A getUsage( Class type, Map,? extends Annotation> usageMap, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return getUsage( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), usageMap, @@ -46,14 +45,14 @@ public static A getUsage( public static A[] extractRepeatedValues( C container, AnnotationDescriptor containerDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return extractRepeatedValues( container, containerDescriptor.getAttribute( "value" ), modelContext ); } public static A[] extractRepeatedValues( C container, AttributeDescriptor valuesAttribute, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return valuesAttribute.getTypeDescriptor().createJdkValueExtractor( modelContext ).extractValue( container, valuesAttribute, modelContext ); } @@ -63,7 +62,7 @@ public static A[] extractRepeatedVa public static A getUsage( AnnotationDescriptor type, Map,? extends Annotation> usageMap, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final A found = findUsage( type, usageMap ); if ( found == null ) { //noinspection unchecked @@ -90,7 +89,7 @@ public static void forEachRepeatedA Class containerType, Consumer consumer, Map, ? extends Annotation> usageMap, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { //noinspection unchecked final A repeatable = (A) usageMap.get( repeatableType ); if ( repeatable != null ) { @@ -111,7 +110,7 @@ public static void forEachRepeatedAnnotationUsages( AnnotationDescriptor repeatableDescriptor, Consumer consumer, Map, ? extends Annotation> usageMap, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { //noinspection unchecked final A repeatable = (A) usageMap.get( repeatableDescriptor.getAnnotationType() ); if ( repeatable != null ) { @@ -131,7 +130,7 @@ public static void forEachRepeatedAnnotationUsages( public static A[] getRepeatedUsages( AnnotationDescriptor type, Map, ? extends Annotation> usageMap, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { // e.g. `@NamedQuery` final A usage = findUsage( type, usageMap ); // e.g. `@NamedQueries` @@ -172,7 +171,7 @@ public static A getNamedUsage( String matchValue, String attributeToMatch, Map, ?> usageMap, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { //noinspection unchecked final A annotationUsage = (A) usageMap.get( descriptor.getAnnotationType() ); if ( annotationUsage != null ) { @@ -206,7 +205,7 @@ private static boolean nameMatches( AnnotationDescriptor descriptor, String matchValue, String attributeToMatch, - SourceModelContext modelContext) { + ModelsContext modelContext) { final AttributeDescriptor attributeDescriptor = descriptor.getAttribute( attributeToMatch ); final String usageName = AnnotationHelper.extractValue( annotationUsage, attributeDescriptor ); return matchValue.equals( usageName ); diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/ArrayTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/ArrayTypeDescriptor.java index 1c491ba..c28654b 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/ArrayTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/ArrayTypeDescriptor.java @@ -17,8 +17,7 @@ import org.hibernate.models.spi.JdkValueExtractor; import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; /** @@ -59,7 +58,7 @@ public AttributeDescriptor createAttributeDescriptor( } @Override - public JdkValueConverter createJdkValueConverter(SourceModelBuildingContext modelContext) { + public JdkValueConverter createJdkValueConverter(ModelsContext modelContext) { if ( jdkValueConverter == null ) { if ( !elementTypeDescriptor.getValueType().isAnnotation() ) { // for arrays of anything other than nested annotations we can simply return the raw array @@ -74,7 +73,7 @@ public JdkValueConverter createJdkValueConverter(SourceModelBuildingContext } @Override - public JdkValueExtractor createJdkValueExtractor(SourceModelBuildingContext modelContext) { + public JdkValueExtractor createJdkValueExtractor(ModelsContext modelContext) { if ( jdkValueExtractor == null ) { if ( !elementTypeDescriptor.getValueType().isAnnotation() ) { // for arrays of anything other than nested annotations we can simply return the raw array @@ -102,7 +101,7 @@ public void render( Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { assert attributeValue != null : "Annotation value was null - " + name; //noinspection unchecked @@ -118,7 +117,7 @@ public void render( } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { //noinspection unchecked final List values = (List) attributeValue; @@ -130,7 +129,7 @@ public void render(Object attributeValue, RenderingTarget target, Renderer rende } @Override - public V[][] makeArray(int size, SourceModelBuildingContext modelContext) { + public V[][] makeArray(int size, ModelsContext modelContext) { throw new UnsupportedOperationException( "Nested array creation not supported" ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/BasicModelBuildingContextImpl.java b/hibernate-models/src/main/java/org/hibernate/models/internal/BasicModelsContextImpl.java similarity index 76% rename from hibernate-models/src/main/java/org/hibernate/models/internal/BasicModelBuildingContextImpl.java rename to hibernate-models/src/main/java/org/hibernate/models/internal/BasicModelsContextImpl.java index d3a24f2..916c1e5 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/BasicModelBuildingContextImpl.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/BasicModelsContextImpl.java @@ -10,19 +10,15 @@ import org.hibernate.models.spi.RegistryPrimer; /** - * Standard SourceModelBuildingContext implementation + * Standard ModelsContext implementation * * @author Steve Ebersole */ -public class BasicModelBuildingContextImpl extends AbstractModelBuildingContext { +public class BasicModelsContextImpl extends AbstractModelsContext { private final AnnotationDescriptorRegistryStandard descriptorRegistry; private final ClassDetailsRegistryStandard classDetailsRegistry; - public BasicModelBuildingContextImpl(ClassLoading classLoadingAccess) { - this( classLoadingAccess, null ); - } - - public BasicModelBuildingContextImpl(ClassLoading classLoadingAccess, RegistryPrimer registryPrimer) { + public BasicModelsContextImpl(ClassLoading classLoadingAccess, RegistryPrimer registryPrimer) { super( classLoadingAccess ); this.descriptorRegistry = new AnnotationDescriptorRegistryStandard( this ); diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/BooleanTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/BooleanTypeDescriptor.java index 91e9492..b9149dd 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/BooleanTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/BooleanTypeDescriptor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.internal; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for boolean values @@ -25,7 +25,7 @@ public Object unwrap(Boolean value) { } @Override - public Boolean[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Boolean[] makeArray(int size, ModelsContext modelContext) { return new Boolean[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/ByteTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/ByteTypeDescriptor.java index e1997aa..56dbb42 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/ByteTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/ByteTypeDescriptor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.internal; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for byte values @@ -25,7 +25,7 @@ public Object unwrap(Byte value) { } @Override - public Byte[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Byte[] makeArray(int size, ModelsContext modelContext) { return new Byte[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/CharacterTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/CharacterTypeDescriptor.java index 4949316..39edde4 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/CharacterTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/CharacterTypeDescriptor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.internal; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for char values @@ -25,7 +25,7 @@ public Object unwrap(Character value) { } @Override - public Character[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Character[] makeArray(int size, ModelsContext modelContext) { return new Character[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsRegistryStandard.java b/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsRegistryStandard.java index b83d4de..eedd831 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsRegistryStandard.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsRegistryStandard.java @@ -7,7 +7,7 @@ import org.hibernate.models.internal.jdk.JdkBuilders; import org.hibernate.models.spi.ClassDetailsBuilder; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Standard ClassDetailsRegistry implementation. @@ -18,11 +18,11 @@ public class ClassDetailsRegistryStandard extends AbstractClassDetailsRegistry { private final ClassDetailsBuilder classDetailsBuilder; - public ClassDetailsRegistryStandard(SourceModelBuildingContext context) { + public ClassDetailsRegistryStandard(ModelsContext context) { this( JdkBuilders.DEFAULT_BUILDER , context ); } - public ClassDetailsRegistryStandard(ClassDetailsBuilder classDetailsBuilder, SourceModelBuildingContext context) { + public ClassDetailsRegistryStandard(ClassDetailsBuilder classDetailsBuilder, ModelsContext context) { super( context ); this.classDetailsBuilder = classDetailsBuilder; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsSupport.java b/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsSupport.java index bcd42b6..c44170c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsSupport.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/ClassDetailsSupport.java @@ -12,10 +12,10 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; /** * @author Steve Ebersole @@ -61,7 +61,7 @@ default void forEachRecordComponent(IndexedConsumer cons @Override default A getAnnotationUsage( AnnotationDescriptor descriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final A localUsage = AnnotationUsageHelper.getUsage( descriptor, getUsageMap(),modelContext ); if ( localUsage != null ) { return localUsage; @@ -75,7 +75,7 @@ default A getAnnotationUsage( } @Override - default A getAnnotationUsage(Class annotationType, SourceModelBuildingContext modelContext) { + default A getAnnotationUsage(Class annotationType, ModelsContext modelContext) { return getAnnotationUsage( modelContext.getAnnotationDescriptorRegistry().getDescriptor( annotationType ), modelContext diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/ClassTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/ClassTypeDescriptor.java index d8419e1..8adfd15 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/ClassTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/ClassTypeDescriptor.java @@ -6,8 +6,7 @@ import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for class values @@ -34,17 +33,17 @@ public void render( Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { super.render( name, ( (Class) attributeValue ).getName(), target, renderer, modelContext ); } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { super.render( ( (Class) attributeValue ).getName(), target, renderer, modelContext ); } @Override - public Class[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Class[] makeArray(int size, ModelsContext modelContext) { return new Class[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/DoubleTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/DoubleTypeDescriptor.java index 890ed48..b8c2e21 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/DoubleTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/DoubleTypeDescriptor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.internal; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for double values @@ -25,7 +25,7 @@ public Object unwrap(Double value) { } @Override - public Double[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Double[] makeArray(int size, ModelsContext modelContext) { return new Double[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/EnumTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/EnumTypeDescriptor.java index ffe6db6..c4f26c9 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/EnumTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/EnumTypeDescriptor.java @@ -6,7 +6,7 @@ import java.lang.reflect.Array; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for enum values @@ -31,7 +31,7 @@ public Object unwrap(E value) { } @Override - public E[] makeArray(int size, SourceModelBuildingContext modelContext) { + public E[] makeArray(int size, ModelsContext modelContext) { //noinspection unchecked return (E[]) Array.newInstance( enumType, size ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/FloatTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/FloatTypeDescriptor.java index 6db3a27..b8df956 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/FloatTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/FloatTypeDescriptor.java @@ -6,8 +6,7 @@ import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for float values @@ -31,17 +30,17 @@ public Object unwrap(Float value) { public void render( String name, Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { target.addLine( "%s = %sF", name, attributeValue ); } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { target.addLine( "%sF", attributeValue ); } @Override - public Float[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Float[] makeArray(int size, ModelsContext modelContext) { return new Float[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/IntegerTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/IntegerTypeDescriptor.java index 15c1355..edda314 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/IntegerTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/IntegerTypeDescriptor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.internal; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for integer values @@ -25,7 +25,7 @@ public Object unwrap(Integer value) { } @Override - public Integer[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Integer[] makeArray(int size, ModelsContext modelContext) { return new Integer[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/IsResolvedTypeSwitch.java b/hibernate-models/src/main/java/org/hibernate/models/internal/IsResolvedTypeSwitch.java index dcfbcd7..cd34eef 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/IsResolvedTypeSwitch.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/IsResolvedTypeSwitch.java @@ -8,9 +8,9 @@ import org.hibernate.models.spi.ArrayTypeDetails; import org.hibernate.models.spi.ClassTypeDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ParameterizedTypeDetails; import org.hibernate.models.spi.PrimitiveTypeDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeDetailsSwitch; import org.hibernate.models.spi.TypeVariableDetails; @@ -27,29 +27,29 @@ public class IsResolvedTypeSwitch implements TypeDetailsSwitch { public static final IsResolvedTypeSwitch IS_RESOLVED_SWITCH = new IsResolvedTypeSwitch(); @Override - public Boolean caseClass(ClassTypeDetails classType, SourceModelBuildingContext buildingContext) { + public Boolean caseClass(ClassTypeDetails classType, ModelsContext modelsContext) { return true; } @Override - public Boolean casePrimitive(PrimitiveTypeDetails primitiveType, SourceModelBuildingContext buildingContext) { + public Boolean casePrimitive(PrimitiveTypeDetails primitiveType, ModelsContext modelsContext) { return true; } @Override - public Boolean caseVoid(VoidTypeDetails voidType, SourceModelBuildingContext buildingContext) { + public Boolean caseVoid(VoidTypeDetails voidType, ModelsContext modelsContext) { return true; } @Override - public Boolean caseArrayType(ArrayTypeDetails arrayType, SourceModelBuildingContext buildingContext) { + public Boolean caseArrayType(ArrayTypeDetails arrayType, ModelsContext modelsContext) { return arrayType.getConstituentType().isResolved(); } @Override public Boolean caseParameterizedType( ParameterizedTypeDetails parameterizedType, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final List typeArgs = parameterizedType.getArguments(); for ( TypeDetails arg : typeArgs ) { if ( !arg.isResolved() ) { @@ -60,25 +60,25 @@ public Boolean caseParameterizedType( } @Override - public Boolean caseWildcardType(WildcardTypeDetails wildcardType, SourceModelBuildingContext buildingContext) { + public Boolean caseWildcardType(WildcardTypeDetails wildcardType, ModelsContext modelsContext) { final TypeDetails bound = wildcardType.getBound(); return bound != null && bound.isResolved(); } @Override - public Boolean caseTypeVariable(TypeVariableDetails typeVariable, SourceModelBuildingContext buildingContext) { + public Boolean caseTypeVariable(TypeVariableDetails typeVariable, ModelsContext modelsContext) { return false; } @Override public Boolean caseTypeVariableReference( TypeVariableReferenceDetails typeVariableReference, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { return false; } @Override - public Boolean defaultCase(TypeDetails type, SourceModelBuildingContext buildingContext) { + public Boolean defaultCase(TypeDetails type, ModelsContext modelsContext) { throw new UnsupportedOperationException( "Unexpected attribute type - " + type ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/LongTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/LongTypeDescriptor.java index a11aa00..44eeef7 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/LongTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/LongTypeDescriptor.java @@ -6,8 +6,7 @@ import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for long values @@ -31,17 +30,17 @@ public Object unwrap(Long value) { public void render( String name, Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { target.addLine( "%s = %sL", name, attributeValue ); } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { target.addLine( "%sL", attributeValue ); } @Override - public Long[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Long[] makeArray(int size, ModelsContext modelContext) { return new Long[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/MissingPackageInfoDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/MissingPackageInfoDetails.java index ba529d5..e052b6c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/MissingPackageInfoDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/MissingPackageInfoDetails.java @@ -17,8 +17,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -56,26 +55,26 @@ public A getDirectAnnotationUsage(Class type) { } @Override - public boolean hasAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + public boolean hasAnnotationUsage(Class type, ModelsContext modelContext) { return false; } @Override public A getAnnotationUsage( AnnotationDescriptor descriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @Override - public A locateAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + public A locateAnnotationUsage(Class type, ModelsContext modelContext) { return null; } @Override public A[] getRepeatedAnnotationUsages( AnnotationDescriptor type, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @@ -83,7 +82,7 @@ public A[] getRepeatedAnnotationUsages( public void forEachRepeatedAnnotationUsages( Class repeatable, Class container, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { } @@ -91,7 +90,7 @@ public void forEachRepeatedAnnotati @Override public List getMetaAnnotated( Class metaAnnotationType, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return List.of(); } @@ -100,7 +99,7 @@ public X getNamedAnnotationUsage( AnnotationDescriptor type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @@ -109,7 +108,7 @@ public X getNamedAnnotationUsage( Class type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @@ -201,7 +200,7 @@ public Class toJavaClass() { } @Override - public Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) { + public Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext) { return toJavaClass(); } @@ -230,7 +229,7 @@ public String getClassName() { } @Override - public ClassDetails fromStorableForm(SourceModelBuildingContext context) { + public ClassDetails fromStorableForm(ModelsContext context) { return new MissingPackageInfoDetails( packageName, packageInfoClassName ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/NestedTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/NestedTypeDescriptor.java index fe8e0b6..3a24309 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/NestedTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/NestedTypeDescriptor.java @@ -15,8 +15,7 @@ import org.hibernate.models.spi.JdkValueExtractor; import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for nested annotation values @@ -40,7 +39,7 @@ public Class getValueType() { return annotationType; } - private AnnotationDescriptor resolveDescriptor(SourceModelContext context) { + private AnnotationDescriptor resolveDescriptor(ModelsContext context) { if ( descriptor == null ) { descriptor = context.getAnnotationDescriptorRegistry().getDescriptor( annotationType ); } @@ -48,11 +47,11 @@ private AnnotationDescriptor resolveDescriptor(SourceModelContext context) { } @Override - public JdkValueConverter createJdkValueConverter(SourceModelBuildingContext modelContext) { + public JdkValueConverter createJdkValueConverter(ModelsContext modelContext) { return resolveJdkValueConverter( modelContext ); } - public JdkNestedValueConverter resolveJdkValueConverter(SourceModelBuildingContext modelContext) { + public JdkNestedValueConverter resolveJdkValueConverter(ModelsContext modelContext) { if ( jdkConverter == null ) { jdkConverter = new JdkNestedValueConverter<>( resolveDescriptor( modelContext ) ); } @@ -60,11 +59,11 @@ public JdkNestedValueConverter resolveJdkValueConverter(SourceModelBuildingCo } @Override - public JdkValueExtractor createJdkValueExtractor(SourceModelBuildingContext modelContext) { + public JdkValueExtractor createJdkValueExtractor(ModelsContext modelContext) { return resolveJdkValueExtractor( modelContext ); } - public JdkValueExtractor resolveJdkValueExtractor(SourceModelBuildingContext modelContext) { + public JdkValueExtractor resolveJdkValueExtractor(ModelsContext modelContext) { if ( jdkExtractor == null ) { jdkExtractor = new JdkNestedValueExtractor<>( resolveJdkValueConverter( modelContext ) ); } @@ -82,19 +81,19 @@ public void render( Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { //noinspection unchecked renderer.renderNestedAnnotation( name, (A) attributeValue, modelContext ); } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { //noinspection unchecked renderer.renderNestedAnnotation( (A) attributeValue, modelContext ); } @Override - public A[] makeArray(int size, SourceModelBuildingContext modelContext) { + public A[] makeArray(int size, ModelsContext modelContext) { //noinspection unchecked return (A[]) Array.newInstance( resolveDescriptor( modelContext ).getAnnotationType(), size ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/OrmAnnotationDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/OrmAnnotationDescriptor.java index b98d901..ef2ca2c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/OrmAnnotationDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/OrmAnnotationDescriptor.java @@ -13,8 +13,8 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AttributeDescriptor; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.MutableAnnotationDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; /** * Specialized AnnotationDescriptor implementation intended for use in describing @@ -68,7 +68,7 @@ public Class getMutableAnnotationType() { } @Override - public C createUsage(SourceModelBuildingContext context) { + public C createUsage(ModelsContext context) { if ( dynamicCreator == null ) { dynamicCreator = new DynamicCreator<>( getAnnotationType(), concreteClass ); } @@ -76,7 +76,7 @@ public C createUsage(SourceModelBuildingContext context) { } @Override - public C createUsage(A jdkAnnotation, SourceModelBuildingContext context) { + public C createUsage(A jdkAnnotation, ModelsContext context) { if ( jdkCreator == null ) { jdkCreator = new JdkCreator<>( getAnnotationType(), concreteClass ); } @@ -84,7 +84,7 @@ public C createUsage(A jdkAnnotation, SourceModelBuildingContext context) { } @Override - public A createUsage(Map attributeValues, SourceModelBuildingContext context) { + public A createUsage(Map attributeValues, ModelsContext context) { if ( deTypedCreator == null ) { deTypedCreator = new DeTypedCreator<>( getAnnotationType(), concreteClass ); } @@ -104,13 +104,13 @@ public String toString() { public static class DynamicCreator { private final Constructor constructor; - public DynamicCreator(Class annotationType, Class concreteClass) { + public DynamicCreator(@SuppressWarnings("unused") Class annotationType, Class concreteClass) { this( resolveConstructor( concreteClass ) ); } private static Constructor resolveConstructor(Class concreteClass) { try { - return concreteClass.getDeclaredConstructor( SourceModelBuildingContext.class ); + return concreteClass.getDeclaredConstructor( ModelsContext.class ); } catch (NoSuchMethodException e) { throw new RuntimeException( e ); @@ -121,7 +121,7 @@ public DynamicCreator(Constructor constructor) { this.constructor = constructor; } - public C createUsage(SourceModelBuildingContext context) { + public C createUsage(ModelsContext context) { try { return constructor.newInstance( context ); } @@ -142,7 +142,7 @@ private static Constructor resolveConstru Class annotationType, Class concreteClass) { try { - return concreteClass.getDeclaredConstructor( annotationType, SourceModelBuildingContext.class ); + return concreteClass.getDeclaredConstructor( annotationType, ModelsContext.class ); } catch (NoSuchMethodException e) { throw new RuntimeException( e ); @@ -153,7 +153,7 @@ public JdkCreator(Constructor constructor) { this.constructor = constructor; } - public C createUsage(A jdkAnnotation, SourceModelBuildingContext context) { + public C createUsage(A jdkAnnotation, ModelsContext context) { try { return constructor.newInstance( jdkAnnotation, context ); } @@ -166,13 +166,13 @@ public C createUsage(A jdkAnnotation, SourceModelBuildingContext context) { public static class DeTypedCreator { private final Constructor constructor; - public DeTypedCreator(Class annotationType, Class concreteClass) { + public DeTypedCreator(@SuppressWarnings("unused") Class annotationType, Class concreteClass) { this( resolveConstructor( concreteClass ) ); } private static Constructor resolveConstructor(Class concreteClass) { try { - return concreteClass.getDeclaredConstructor( Map.class, SourceModelBuildingContext.class ); + return concreteClass.getDeclaredConstructor( Map.class, ModelsContext.class ); } catch (NoSuchMethodException e) { throw new RuntimeException( e ); @@ -183,7 +183,7 @@ public DeTypedCreator(Constructor constructor) { this.constructor = constructor; } - public C createUsage(Map attributeValues, SourceModelBuildingContext context) { + public C createUsage(Map attributeValues, ModelsContext context) { try { return constructor.newInstance( attributeValues, context ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/ShortTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/ShortTypeDescriptor.java index 752e418..27056c8 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/ShortTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/ShortTypeDescriptor.java @@ -4,7 +4,7 @@ */ package org.hibernate.models.internal; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for short values @@ -25,7 +25,7 @@ public Object unwrap(Short value) { } @Override - public Short[] makeArray(int size, SourceModelBuildingContext modelContext) { + public Short[] makeArray(int size, ModelsContext modelContext) { return new Short[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/SimpleClassDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/SimpleClassDetails.java index 7942337..279a2ce 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/SimpleClassDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/SimpleClassDetails.java @@ -19,8 +19,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -72,7 +71,7 @@ public Class toJavaClass() { } @Override - public Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) { + public Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext) { return classLoading.classForName( clazz.getName() ); } @@ -178,31 +177,31 @@ public A getDirectAnnotationUsage(Class type) { } @Override - public boolean hasAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + public boolean hasAnnotationUsage(Class type, ModelsContext modelContext) { return false; } @Override public A getAnnotationUsage( AnnotationDescriptor descriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @Override - public A getAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + public A getAnnotationUsage(Class type, ModelsContext modelContext) { return null; } @Override - public A locateAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + public A locateAnnotationUsage(Class type, ModelsContext modelContext) { return null; } @Override public A[] getRepeatedAnnotationUsages( AnnotationDescriptor type, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @@ -210,13 +209,13 @@ public A[] getRepeatedAnnotationUsages( public void forEachRepeatedAnnotationUsages( Class repeatable, Class container, - SourceModelBuildingContext modelContext, Consumer consumer) { + ModelsContext modelContext, Consumer consumer) { } @Override public List getMetaAnnotated( Class metaAnnotationType, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return Collections.emptyList(); } @@ -225,7 +224,7 @@ public X getNamedAnnotationUsage( AnnotationDescriptor type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } @@ -234,7 +233,7 @@ public X getNamedAnnotationUsage( Class type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return null; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/StandardAnnotationDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/StandardAnnotationDescriptor.java index 2b2d617..60406cb 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/StandardAnnotationDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/StandardAnnotationDescriptor.java @@ -16,7 +16,7 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Simple implementation of {@link AnnotationDescriptor}. @@ -25,41 +25,41 @@ */ public class StandardAnnotationDescriptor extends AbstractAnnotationDescriptor { private final List> attributeDescriptors; - private final SourceModelBuildingContext buildingContext; + private final ModelsContext modelsContext; private Map, ? extends Annotation> usagesMap; public StandardAnnotationDescriptor( Class annotationType, - SourceModelBuildingContext buildingContext) { - this( annotationType, null, buildingContext ); + ModelsContext modelsContext) { + this( annotationType, null, modelsContext ); } public StandardAnnotationDescriptor( Class annotationType, AnnotationDescriptor repeatableContainer, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { super( annotationType, AnnotationHelper.extractTargets( annotationType ), AnnotationHelper.isInherited( annotationType ), repeatableContainer ); - this.buildingContext = buildingContext; + this.modelsContext = modelsContext; this.attributeDescriptors = AnnotationDescriptorBuilding.extractAttributeDescriptors( annotationType ); } @Override public Map, ? extends Annotation> getUsageMap() { if ( usagesMap == null ) { - usagesMap = buildUsagesMap( getAnnotationType(), buildingContext ); + usagesMap = buildUsagesMap( getAnnotationType(), modelsContext ); } return usagesMap; } @Override - public A createUsage(A jdkAnnotation, SourceModelBuildingContext context) { + public A createUsage(A jdkAnnotation, ModelsContext context) { return jdkAnnotation; } @Override - public A createUsage(SourceModelBuildingContext context) { + public A createUsage(ModelsContext context) { throw new UnsupportedOperationException( "Creating empty annotation usage mot supported from StandardAnnotationDescriptor : " + getAnnotationType().getName() ); @@ -75,10 +75,10 @@ public List> getAttributes() { */ private static Map, ? extends Annotation> buildUsagesMap( Class annotationType, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { final Map, ? extends Annotation> result = new HashMap<>(); - final AnnotationDescriptorRegistry annotationDescriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); + final AnnotationDescriptorRegistry annotationDescriptorRegistry = modelsContext.getAnnotationDescriptorRegistry(); final Annotation[] annotationTypeAnnotations = annotationType.getAnnotations(); for ( int i = 0; i < annotationTypeAnnotations.length; i++ ) { @@ -96,7 +96,7 @@ public List> getAttributes() { //noinspection rawtypes final AnnotationDescriptor annotationDescriptor = annotationDescriptorRegistry.getDescriptor( annotationTypeAnnotationType ); //noinspection unchecked - final Annotation annotationTypeAnnotationUsage = annotationDescriptor.createUsage( annotationTypeAnnotation, buildingContext ); + final Annotation annotationTypeAnnotationUsage = annotationDescriptor.createUsage( annotationTypeAnnotation, modelsContext ); //noinspection rawtypes,unchecked ( (Map) result ).put( annotationTypeAnnotationType, annotationTypeAnnotationUsage ); diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/StringTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/StringTypeDescriptor.java index 7ab3c26..42a9868 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/StringTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/StringTypeDescriptor.java @@ -6,8 +6,7 @@ import org.hibernate.models.rendering.spi.Renderer; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Descriptor for string values @@ -30,17 +29,17 @@ public Object unwrap(String value) { @Override public void render( String name, Object attributeValue, RenderingTarget target, - Renderer renderer, SourceModelContext modelContext) { + Renderer renderer, ModelsContext modelContext) { target.addLine( "%s = \"%s\"", name, attributeValue ); } @Override - public void render(Object attributeValue, RenderingTarget target, Renderer renderer, SourceModelContext modelContext) { + public void render(Object attributeValue, RenderingTarget target, Renderer renderer, ModelsContext modelContext) { target.addLine( "\"%s\"", attributeValue ); } @Override - public String[] makeArray(int size, SourceModelBuildingContext modelContext) { + public String[] makeArray(int size, ModelsContext modelContext) { return new String[size]; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/AbstractAnnotationTarget.java b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/AbstractAnnotationTarget.java index fe25d4f..7a329df 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/AbstractAnnotationTarget.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/AbstractAnnotationTarget.java @@ -9,20 +9,20 @@ import java.util.Map; import org.hibernate.models.internal.AnnotationTargetSupport; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole */ public abstract class AbstractAnnotationTarget implements AnnotationTargetSupport { - private final SourceModelBuildingContext modelContext; + private final ModelsContext modelContext; private final Map, ? extends Annotation> usageMap = new HashMap<>(); - public AbstractAnnotationTarget(SourceModelBuildingContext modelContext) { + public AbstractAnnotationTarget(ModelsContext modelContext) { this.modelContext = modelContext; } - public SourceModelBuildingContext getModelContext() { + public ModelsContext getModelContext() { return modelContext; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicClassDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicClassDetails.java index 7ace89c..11441ce 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicClassDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicClassDetails.java @@ -17,8 +17,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -42,16 +41,16 @@ public class DynamicClassDetails extends AbstractAnnotationTarget implements Cla private Class javaType; - public DynamicClassDetails(String name, SourceModelBuildingContext buildingContext) { - this( name, null, null, buildingContext ); + public DynamicClassDetails(String name, ModelsContext modelsContext) { + this( name, null, null, modelsContext ); } public DynamicClassDetails( String name, ClassDetails superClass, TypeDetails genericSuperType, - SourceModelBuildingContext buildingContext) { - this( name, null, false, superClass, genericSuperType, buildingContext ); + ModelsContext modelsContext) { + this( name, null, false, superClass, genericSuperType, modelsContext ); } public DynamicClassDetails( @@ -60,8 +59,8 @@ public DynamicClassDetails( boolean isAbstract, ClassDetails superClass, TypeDetails genericSuperType, - SourceModelBuildingContext buildingContext) { - this( name, className, null, isAbstract, superClass, genericSuperType, buildingContext ); + ModelsContext modelsContext) { + this( name, className, null, isAbstract, superClass, genericSuperType, modelsContext ); } public DynamicClassDetails( @@ -71,8 +70,8 @@ public DynamicClassDetails( boolean isAbstract, ClassDetails superClass, TypeDetails genericSuperType, - SourceModelBuildingContext buildingContext) { - super( buildingContext ); + ModelsContext modelsContext) { + super( modelsContext ); this.name = name; this.className = className; this.isAbstract = isAbstract; @@ -190,7 +189,7 @@ public DynamicFieldDetails applyAttribute( ClassDetails type, boolean isArray, boolean isPlural, - SourceModelBuildingContext context) { + ModelsContext context) { return applyAttribute( name, new ClassTypeDetailsImpl( type, TypeDetails.Kind.CLASS ), @@ -208,7 +207,7 @@ public DynamicFieldDetails applyAttribute( TypeDetails type, boolean isArray, boolean isPlural, - SourceModelBuildingContext context) { + ModelsContext context) { final DynamicFieldDetails attribute = new DynamicFieldDetails( name, type, @@ -228,7 +227,7 @@ public Class toJavaClass() { } @Override - public Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) { + public Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext) { if ( javaType == null ) { if ( className == null ) { throw new DynamicClassException( "ClassDetails (name=" + name + ") did not specify a class-name" ); diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicFieldDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicFieldDetails.java index 3175084..605a1cf 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicFieldDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicFieldDetails.java @@ -19,8 +19,7 @@ import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableScope; @@ -50,7 +49,7 @@ public class DynamicFieldDetails extends AbstractAnnotationTarget implements Fie * defining a field to be used as a {@linkplain MemberDetails#isPersistable() persistable} member. * @param isArray Whether the "field" is an array * @param isPlural Whether the "field" is plural - * @param buildingContext Context for the creation (access to useful information). + * @param modelsContext Context for the creation (access to useful information). */ public DynamicFieldDetails( String name, @@ -59,8 +58,8 @@ public DynamicFieldDetails( int modifierFlags, boolean isArray, boolean isPlural, - SourceModelBuildingContext buildingContext) { - super( buildingContext ); + ModelsContext modelsContext) { + super( modelsContext ); this.name = name; this.type = type; this.declaringType = declaringType; @@ -113,7 +112,7 @@ public Field toJavaMember() { } @Override - public Field toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Field toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { try { // make sure the type ends up on the given class-loading type.determineRawClass().toJavaClass( classLoading, modelContext ); diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicMethodDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicMethodDetails.java deleted file mode 100644 index fc4fdab..0000000 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/dynamic/DynamicMethodDetails.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.internal.dynamic; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import org.hibernate.models.IllegalCastException; -import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.MutableClassDetails; -import org.hibernate.models.spi.MutableMemberDetails; -import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; -import org.hibernate.models.spi.TypeDetails; -import org.hibernate.models.spi.TypeVariableScope; - -import static org.hibernate.models.internal.util.ReflectionHelper.resolveJavaMember; - -/** - * MethodDetails which does not necessarily map to a physical Method (dynamic models) - * - * @author Steve Ebersole - */ -public class DynamicMethodDetails extends AbstractAnnotationTarget implements MethodDetails, MutableMemberDetails { - private final String name; - private final TypeDetails type; - private final ClassDetails declaringType; - private final MethodKind methodKind; - private final int modifierFlags; - - private final ClassDetails returnType; - private final List argumentTypes; - - private final boolean isArray; - private final boolean isPlural; - - public DynamicMethodDetails( - String name, - TypeDetails type, - ClassDetails declaringType, - MethodKind methodKind, - int modifierFlags, - ClassDetails returnType, - List argumentTypes, - SourceModelBuildingContext buildingContext) { - this( - name, - type, - declaringType, - methodKind, - modifierFlags, - type != null && type.getName().startsWith( "[" ), - type != null && ( type.isImplementor( Collection.class ) || type.isImplementor( Map.class ) ), - returnType, - argumentTypes, - buildingContext - ); - } - - public DynamicMethodDetails( - String name, - TypeDetails type, - ClassDetails declaringType, - MethodKind methodKind, - int modifierFlags, - boolean isArray, - boolean isPlural, - ClassDetails returnType, - List argumentTypes, - SourceModelBuildingContext buildingContext) { - super( buildingContext ); - this.name = name; - this.type = type; - this.declaringType = declaringType; - this.methodKind = methodKind; - this.modifierFlags = modifierFlags; - this.isArray = isArray; - this.isPlural = isPlural; - this.returnType = returnType; - this.argumentTypes = argumentTypes; - } - - @Override - public String getName() { - return name; - } - - @Override - public MethodKind getMethodKind() { - return methodKind; - } - - @Override - public TypeDetails getType() { - return type; - } - - @Override - public ClassDetails getDeclaringType() { - return declaringType; - } - - @Override - public boolean isPlural() { - return isPlural; - } - - @Override - public boolean isArray() { - return isArray; - } - - @Override - public int getModifiers() { - return modifierFlags; - } - - private Method method; - - @Override - public Method toJavaMember() { - if ( method == null && declaringType.getClassName() != null ) { - final Class declaringClass = declaringType.toJavaClass(); - method = toJavaMember( declaringClass, getModelContext().getClassLoading(), getModelContext() ); - } - return method; - } - - @Override - public Method toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { - return resolveJavaMember( this, declaringClass, classLoading, modelContext ); - } - - @Override - public TypeDetails resolveRelativeType(TypeVariableScope container) { - return type; - } - - @Override - public ClassDetails getReturnType() { - return returnType; - } - - @Override - public List getArgumentTypes() { - return argumentTypes; - } - - @Override - public String toString() { - return "DynamicMethodDetails(" + name + ")"; - } - - @Override - public MethodDetails asMethodDetails() { - return this; - } - - @Override - public MutableMemberDetails asMemberDetails() { - return this; - } - - @Override - public FieldDetails asFieldDetails() { - throw new IllegalCastException( "MethodDetails cannot be cast as FieldDetails" ); - } - - @Override - public RecordComponentDetails asRecordComponentDetails() { - throw new IllegalCastException( "MethodDetails cannot be cast as RecordComponentDetails" ); - } - - @Override - public MutableClassDetails asClassDetails() { - throw new IllegalCastException( "MethodDetails cannot be cast as ClassDetails" ); - } - - @Override - public AnnotationDescriptor asAnnotationDescriptor() { - throw new IllegalCastException( "MethodDetails cannot be cast as AnnotationDescriptor" ); - } -} diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkAnnotationTarget.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkAnnotationTarget.java index 694a9b6..f30811d 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkAnnotationTarget.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkAnnotationTarget.java @@ -11,7 +11,7 @@ import org.hibernate.models.internal.AnnotationTargetSupport; import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * AnnotationTarget where we know the annotations up front, but @@ -21,18 +21,18 @@ */ public abstract class AbstractJdkAnnotationTarget implements AnnotationTargetSupport { private final Supplier annotationSupplier; - private final SourceModelBuildingContext modelContext; + private final ModelsContext modelContext; private Map, ? extends Annotation> usagesMap; public AbstractJdkAnnotationTarget( Supplier annotationSupplier, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { this.annotationSupplier = annotationSupplier; this.modelContext = modelContext; } - public SourceModelBuildingContext getModelContext() { + public ModelsContext getModelContext() { return modelContext; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkValueExtractor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkValueExtractor.java index 6da2e00..713b86d 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkValueExtractor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/AbstractJdkValueExtractor.java @@ -12,7 +12,7 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AttributeDescriptor; import org.hibernate.models.spi.JdkValueExtractor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -22,7 +22,7 @@ public abstract class AbstractJdkValueExtractor implements JdkValueExtractor< public V extractValue( A usage, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { try { //noinspection unchecked final V rawValue = (V) attributeDescriptor.getAttributeMethod().invoke( usage ); @@ -45,15 +45,15 @@ public V extractValue( public V extractValue( Annotation annotation, String attributeName, - SourceModelBuildingContext buildingContext) { - final AnnotationDescriptor annDescriptor = buildingContext + ModelsContext modelsContext) { + final AnnotationDescriptor annDescriptor = modelsContext .getAnnotationDescriptorRegistry() .getDescriptor( annotation.annotationType() ); - return extractValue( annotation, annDescriptor.getAttribute( attributeName ), buildingContext ); + return extractValue( annotation, annDescriptor.getAttribute( attributeName ), modelsContext ); } protected abstract V wrap( V rawValue, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext buildingContext); + ModelsContext modelsContext); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueConverter.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueConverter.java index e7650ba..3501ec7 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueConverter.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.internal.jdk; import org.hibernate.models.spi.JdkValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ValueTypeDescriptor; /** @@ -19,7 +19,7 @@ public JdkArrayValueConverter(ValueTypeDescriptor elementTypeDescriptor) { } @Override - public V[] convert(V[] rawValue, SourceModelBuildingContext modelContext) { + public V[] convert(V[] rawValue, ModelsContext modelContext) { final V[] result = elementTypeDescriptor.makeArray( rawValue.length, modelContext ); final JdkValueConverter elementWrapper = elementTypeDescriptor.createJdkValueConverter( modelContext ); for ( int i = 0; i < rawValue.length; i++ ) { diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueExtractor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueExtractor.java index 93f9b6c..3b543d6 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueExtractor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkArrayValueExtractor.java @@ -8,7 +8,7 @@ import org.hibernate.models.spi.AttributeDescriptor; import org.hibernate.models.spi.JdkValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -24,20 +24,20 @@ public JdkArrayValueExtractor(JdkValueConverter converter) { public V[] extractValue( A usage, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return super.extractValue( usage, attributeDescriptor, modelContext ); } @Override - public V[] extractValue(Annotation annotation, String attributeName, SourceModelBuildingContext buildingContext) { - return super.extractValue( annotation, attributeName, buildingContext ); + public V[] extractValue(Annotation annotation, String attributeName, ModelsContext modelsContext) { + return super.extractValue( annotation, attributeName, modelsContext ); } @Override protected V[] wrap( V[] rawValue, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext buildingContext) { - return converter.convert( rawValue, buildingContext ); + ModelsContext modelsContext) { + return converter.convert( rawValue, modelsContext ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuilders.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuilders.java index 9801a75..2386343 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuilders.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuilders.java @@ -5,24 +5,18 @@ package org.hibernate.models.internal.jdk; import java.io.Serializable; -import java.lang.annotation.Annotation; -import java.lang.annotation.Repeatable; import java.lang.reflect.Method; import java.lang.reflect.Type; import org.hibernate.models.UnknownClassException; -import org.hibernate.models.internal.AnnotationDescriptorRegistryStandard; import org.hibernate.models.internal.ModifierUtils; import org.hibernate.models.internal.PrimitiveKind; -import org.hibernate.models.internal.StandardAnnotationDescriptor; import org.hibernate.models.internal.util.StringHelper; -import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsBuilder; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; /** @@ -37,48 +31,48 @@ public class JdkBuilders implements ClassDetailsBuilder, Serializable { public static final JdkBuilders DEFAULT_BUILDER = new JdkBuilders(); @Override - public JdkClassDetails buildClassDetails(String name, SourceModelBuildingContext buildingContext) { - return buildClassDetailsStatic( name, buildingContext ); + public JdkClassDetails buildClassDetails(String name, ModelsContext modelsContext) { + return buildClassDetailsStatic( name, modelsContext ); } - public static JdkClassDetails buildClassDetailsStatic(String name, SourceModelBuildingContext buildingContext) { + public static JdkClassDetails buildClassDetailsStatic(String name, ModelsContext modelsContext) { if ( char.class.getName().equals( name ) ) { - return buildClassDetailsStatic( char.class, buildingContext ); + return buildClassDetailsStatic( char.class, modelsContext ); } if ( byte.class.getName().equals( name ) ) { - return buildClassDetailsStatic( byte.class, buildingContext ); + return buildClassDetailsStatic( byte.class, modelsContext ); } if ( boolean.class.getName().equals( name ) ) { - return buildClassDetailsStatic( boolean.class, buildingContext ); + return buildClassDetailsStatic( boolean.class, modelsContext ); } if ( short.class.getName().equals( name ) ) { - return buildClassDetailsStatic( short.class, buildingContext ); + return buildClassDetailsStatic( short.class, modelsContext ); } if ( int.class.getName().equals( name ) ) { - return buildClassDetailsStatic( int.class, buildingContext ); + return buildClassDetailsStatic( int.class, modelsContext ); } if ( long.class.getName().equals( name ) ) { - return buildClassDetailsStatic( long.class, buildingContext ); + return buildClassDetailsStatic( long.class, modelsContext ); } if ( float.class.getName().equals( name ) ) { - return buildClassDetailsStatic( float.class, buildingContext ); + return buildClassDetailsStatic( float.class, modelsContext ); } if ( double.class.getName().equals( name ) ) { - return buildClassDetailsStatic( double.class, buildingContext ); + return buildClassDetailsStatic( double.class, modelsContext ); } if ( name.startsWith( "[" ) ) { - return buildArrayClassDetails( name, buildingContext ); + return buildArrayClassDetails( name, modelsContext ); } try { - final Class loadedClass = buildingContext.getClassLoading().classForName( name ); - return buildClassDetailsStatic( loadedClass, buildingContext ); + final Class loadedClass = modelsContext.getClassLoading().classForName( name ); + return buildClassDetailsStatic( loadedClass, modelsContext ); } catch (UnknownClassException e) { // see if it might be a package name... try { - final Class packageInfoClass = buildingContext.getClassLoading().classForName( name + ".package-info" ); - return buildClassDetailsStatic( packageInfoClass, buildingContext ); + final Class packageInfoClass = modelsContext.getClassLoading().classForName( name + ".package-info" ); + return buildClassDetailsStatic( packageInfoClass, modelsContext ); } catch (UnknownClassException noPackage) { throw e; @@ -86,25 +80,25 @@ public static JdkClassDetails buildClassDetailsStatic(String name, SourceModelBu } } - private static JdkClassDetails buildArrayClassDetails(String name, SourceModelBuildingContext buildingContext) { + private static JdkClassDetails buildArrayClassDetails(String name, ModelsContext modelsContext) { assert name.startsWith( "[" ); final int dimensionCount = StringHelper.countArrayDimensions( name ); assert dimensionCount > 0; final String componentTypeName = name.substring( 1 ); - final ClassDetails componentTypeDetails = resolveArrayComponentType( componentTypeName, buildingContext ); + final ClassDetails componentTypeDetails = resolveArrayComponentType( componentTypeName, modelsContext ); final Class javaClass = componentTypeDetails.toJavaClass(); final Class arrayType = javaClass.arrayType(); - return new JdkClassDetails( arrayType, buildingContext ); + return new JdkClassDetails( arrayType, modelsContext ); } - private static ClassDetails resolveArrayComponentType(String componentTypeName, SourceModelBuildingContext buildingContext) { + private static ClassDetails resolveArrayComponentType(String componentTypeName, ModelsContext modelsContext) { if ( componentTypeName.startsWith( "[" ) ) { - return buildArrayClassDetails( componentTypeName, buildingContext ); + return buildArrayClassDetails( componentTypeName, modelsContext ); } - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); if ( componentTypeName.length() == 1 ) { // this is a primitive array... final PrimitiveKind primitiveKind = PrimitiveKind.resolveFromTypeChar( componentTypeName.charAt( 0 ) ); @@ -122,14 +116,14 @@ private static ClassDetails resolveArrayComponentType(String componentTypeName, } } - public static JdkClassDetails buildClassDetailsStatic(Class javaClass, SourceModelBuildingContext buildingContext) { - return new JdkClassDetails( javaClass, buildingContext ); + public static JdkClassDetails buildClassDetailsStatic(Class javaClass, ModelsContext modelsContext) { + return new JdkClassDetails( javaClass, modelsContext ); } public static JdkMethodDetails buildMethodDetails( Method method, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { if ( method.getParameterCount() == 0 ) { // could be a getter final Class returnType = method.getReturnType(); @@ -137,10 +131,10 @@ public static JdkMethodDetails buildMethodDetails( && !ModifierUtils.isStatic( method.getModifiers() ) ) { final String methodName = method.getName(); if ( methodName.startsWith( "get" ) ) { - return buildGetterDetails( method, declaringType, buildingContext ); + return buildGetterDetails( method, declaringType, modelsContext ); } else if ( isBoolean( returnType ) && methodName.startsWith( "is" ) ) { - return buildGetterDetails( method, declaringType, buildingContext ); + return buildGetterDetails( method, declaringType, modelsContext ); } } } @@ -149,39 +143,39 @@ else if ( isBoolean( returnType ) && methodName.startsWith( "is" ) ) { && isVoid( method.getReturnType() ) && !ModifierUtils.isStatic( method.getModifiers() ) && method.getName().startsWith( "set" ) ) { - return buildSetterDetails( method, declaringType, buildingContext ); + return buildSetterDetails( method, declaringType, modelsContext ); } - return new JdkMethodDetails( method, MethodDetails.MethodKind.OTHER, null, declaringType, buildingContext ); + return new JdkMethodDetails( method, MethodDetails.MethodKind.OTHER, null, declaringType, modelsContext ); } public static JdkMethodDetails buildGetterDetails( Method method, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { return new JdkMethodDetails( method, MethodDetails.MethodKind.GETTER, - toTypeDetails( method.getGenericReturnType(), buildingContext ), + toTypeDetails( method.getGenericReturnType(), modelsContext ), declaringType, - buildingContext + modelsContext ); } - private static TypeDetails toTypeDetails(Type genericType, SourceModelBuildingContext buildingContext) { - return new JdkTrackingTypeSwitcher( buildingContext ).switchType( genericType ); + private static TypeDetails toTypeDetails(Type genericType, ModelsContext modelsContext) { + return new JdkTrackingTypeSwitcher( modelsContext ).switchType( genericType ); } public static JdkMethodDetails buildSetterDetails( Method method, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { return new JdkMethodDetails( method, MethodDetails.MethodKind.SETTER, - toTypeDetails( method.getGenericParameterTypes()[0], buildingContext ), + toTypeDetails( method.getGenericParameterTypes()[0], modelsContext ), declaringType, - buildingContext + modelsContext ); } @@ -192,36 +186,4 @@ public static boolean isBoolean(Class type) { public static boolean isVoid(Class type) { return type == void.class || type == Void.class; } - - public static AnnotationDescriptor buildAnnotationDescriptor( - Class annotationType, - SourceModelBuildingContext modelContext) { - return buildAnnotationDescriptor( - annotationType, - resolveRepeatableContainerDescriptor( annotationType, modelContext ), - modelContext - ); - } - - public static AnnotationDescriptor resolveRepeatableContainerDescriptor( - Class annotationType, - SourceModelBuildingContext modelContext) { - final Repeatable repeatableAnnotation = annotationType.getAnnotation( Repeatable.class ); - if ( repeatableAnnotation == null ) { - return null; - } - final AnnotationDescriptorRegistry descriptorRegistry = modelContext.getAnnotationDescriptorRegistry(); - //noinspection unchecked - final AnnotationDescriptor containerDescriptor = (AnnotationDescriptor) descriptorRegistry.getDescriptor( repeatableAnnotation.value() ); - ( (AnnotationDescriptorRegistryStandard) descriptorRegistry ).register( containerDescriptor ); - return containerDescriptor; - } - - public static AnnotationDescriptor buildAnnotationDescriptor( - Class annotationType, - AnnotationDescriptor repeatableContainer, - SourceModelBuildingContext modelContext) { - return new StandardAnnotationDescriptor<>( annotationType, repeatableContainer, modelContext ); - } - } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuildingContextProvider.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuildingContextProvider.java deleted file mode 100644 index 3ff00ba..0000000 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkBuildingContextProvider.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.internal.jdk; - -import java.util.Map; - -import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelBuildingContextProvider; - -/** - * @author Steve Ebersole - */ -public class JdkBuildingContextProvider implements SourceModelBuildingContextProvider { - - @Override - public SourceModelBuildingContext produceContext( - ClassLoading classLoading, - RegistryPrimer registryPrimer, - Map configProperties) { - return null; - } -} diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkClassDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkClassDetails.java index f740b92..3c9f03b 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkClassDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkClassDetails.java @@ -23,8 +23,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -51,21 +50,21 @@ public class JdkClassDetails extends AbstractJdkAnnotationTarget implements Clas public JdkClassDetails( Class managedClass, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { this( managedClass.getName(), managedClass, modelContext ); } public JdkClassDetails( String name, Class managedClass, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { super( managedClass::getAnnotations, modelContext ); this.name = name; this.managedClass = managedClass; this.superClass = determineSuperClass( managedClass, modelContext ); } - private static ClassDetails determineSuperClass(Class managedClass, SourceModelBuildingContext modelContext) { + private static ClassDetails determineSuperClass(Class managedClass, ModelsContext modelContext) { final Class superclass = managedClass.getSuperclass(); if ( superclass == null ) { return null; @@ -97,7 +96,7 @@ public Class toJavaClass() { } @Override - public Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) { + public Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext) { if ( managedClass.isPrimitive() || managedClass.isEnum() || managedClass.isAnnotation() ) { diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkFieldDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkFieldDetails.java index 2a36675..37a9896 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkFieldDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkFieldDetails.java @@ -20,8 +20,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; @@ -36,11 +35,11 @@ public class JdkFieldDetails extends AbstractJdkAnnotationTarget implements Fiel private final boolean isArray; private final boolean isPlural; - public JdkFieldDetails(Field field, JdkClassDetails declaringType, SourceModelBuildingContext buildingContext) { - super( field::getAnnotations, buildingContext ); + public JdkFieldDetails(Field field, JdkClassDetails declaringType, ModelsContext modelsContext) { + super( field::getAnnotations, modelsContext ); this.field = field; this.declaringType = declaringType; - this.type = new JdkTrackingTypeSwitcher( buildingContext ).switchType( field.getGenericType() ); + this.type = new JdkTrackingTypeSwitcher( modelsContext ).switchType( field.getGenericType() ); this.isArray = field.getType().isArray(); this.isPlural = isArray @@ -69,7 +68,7 @@ public Field toJavaMember() { } @Override - public Field toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Field toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { if ( declaringClass == field.getDeclaringClass() ) { return field; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkMethodDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkMethodDetails.java index 2df3575..3768035 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkMethodDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkMethodDetails.java @@ -23,8 +23,7 @@ import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeDetailsHelper; import org.hibernate.models.spi.TypeVariableScope; @@ -53,14 +52,14 @@ public JdkMethodDetails( MethodKind methodKind, TypeDetails type, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { - super( method::getAnnotations, buildingContext ); + ModelsContext modelsContext) { + super( method::getAnnotations, modelsContext ); this.method = method; this.methodKind = methodKind; this.type = type; this.declaringType = declaringType; - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); this.returnType = classDetailsRegistry.resolveClassDetails( method.getReturnType().getName() ); @@ -132,7 +131,7 @@ public Method toJavaMember() { } @Override - public Method toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Method toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { if ( declaringClass == method.getDeclaringClass() ) { return method; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueConverter.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueConverter.java index 8b9a4bc..aae60ee 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueConverter.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueConverter.java @@ -8,7 +8,7 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.JdkValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -21,7 +21,7 @@ public JdkNestedValueConverter(AnnotationDescriptor descriptor) { } @Override - public A convert(A rawValue, SourceModelBuildingContext modelContext) { + public A convert(A rawValue, ModelsContext modelContext) { return descriptor.createUsage( rawValue, modelContext ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueExtractor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueExtractor.java index 44cb2e3..b08309a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueExtractor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkNestedValueExtractor.java @@ -7,7 +7,7 @@ import java.lang.annotation.Annotation; import org.hibernate.models.spi.AttributeDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -23,7 +23,7 @@ public JdkNestedValueExtractor(JdkNestedValueConverter converter) { protected A wrap( A rawValue, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext buildingContext) { - return converter.convert( rawValue, buildingContext ); + ModelsContext modelsContext) { + return converter.convert( rawValue, modelsContext ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruConverter.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruConverter.java index 7a8cbbb..ca03f3d 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruConverter.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruConverter.java @@ -5,7 +5,7 @@ package org.hibernate.models.internal.jdk; import org.hibernate.models.spi.JdkValueConverter; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * Common ValueWrapper support for implementations with the same raw and @@ -23,7 +23,7 @@ public static JdkPassThruConverter passThruConverter() { } @Override - public V convert(V rawValue, SourceModelBuildingContext modelContext) { + public V convert(V rawValue, ModelsContext modelContext) { return rawValue; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruExtractor.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruExtractor.java index d41ec41..dab2075 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruExtractor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkPassThruExtractor.java @@ -6,7 +6,7 @@ import org.hibernate.models.spi.AttributeDescriptor; import org.hibernate.models.spi.JdkValueExtractor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -24,7 +24,7 @@ public static JdkValueExtractor passThruExtractor() { protected V wrap( V rawValue, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext buildingContext) { + ModelsContext modelsContext) { return rawValue; } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkRecordComponentDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkRecordComponentDetails.java index dc665aa..3a49bb4 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkRecordComponentDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkRecordComponentDetails.java @@ -19,8 +19,7 @@ import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; /** @@ -38,11 +37,11 @@ public class JdkRecordComponentDetails extends AbstractJdkAnnotationTarget public JdkRecordComponentDetails( RecordComponent recordComponent, ClassDetails declaringType, - SourceModelBuildingContext buildingContext) { - super( recordComponent::getAnnotations, buildingContext ); + ModelsContext modelsContext) { + super( recordComponent::getAnnotations, modelsContext ); this.recordComponent = recordComponent; this.declaringType = declaringType; - this.type = JdkTrackingTypeSwitcher.standardSwitchType( recordComponent.getGenericType(), buildingContext ); + this.type = JdkTrackingTypeSwitcher.standardSwitchType( recordComponent.getGenericType(), modelsContext ); this.isArray = recordComponent.getType().isArray(); this.isPlural = isArray @@ -82,7 +81,7 @@ public Member toJavaMember() { } @Override - public Member toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext) { + public Member toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext) { return null; } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitch.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitch.java index d45c852..c7790dc 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitch.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitch.java @@ -26,8 +26,8 @@ import org.hibernate.models.spi.ArrayTypeDetails; import org.hibernate.models.spi.ClassBasedTypeDetails; import org.hibernate.models.spi.ClassDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ParameterizedTypeDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeDetailsHelper; import org.hibernate.models.spi.TypeVariableDetails; @@ -41,11 +41,11 @@ */ public class JdkTrackingTypeSwitch implements JdkTypeSwitch { private final JdkTypeSwitcher switcher; - private final SourceModelBuildingContext buildingContext; + private final ModelsContext modelsContext; - public JdkTrackingTypeSwitch(JdkTypeSwitcher switcher, SourceModelBuildingContext buildingContext) { + public JdkTrackingTypeSwitch(JdkTypeSwitcher switcher, ModelsContext modelsContext) { this.switcher = switcher; - this.buildingContext = buildingContext; + this.modelsContext = modelsContext; } public ClassBasedTypeDetails caseClass(Class classType) { @@ -53,7 +53,7 @@ public ClassBasedTypeDetails caseClass(Class classType) { return asArrayType( classType ); } - final ClassDetails classDetails = buildingContext + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( classType.getName() ); if ( classType.isPrimitive() ) { @@ -66,7 +66,7 @@ public ClassBasedTypeDetails caseClass(Class classType) { } public ParameterizedTypeDetails caseParameterizedType(ParameterizedType parameterizedType) { - final ClassDetails classDetails = buildingContext + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( parameterizedType.getRawType().getTypeName() ); return new ParameterizedTypeDetailsImpl( @@ -98,10 +98,10 @@ public TypeVariableDetails caseTypeVariable(TypeVariable typeVariable) { final GenericDeclaration genericDeclaration = typeVariable.getGenericDeclaration(); final ClassDetails declaringClass; if ( genericDeclaration instanceof Class genericClass ) { - declaringClass = buildingContext.getClassDetailsRegistry().getClassDetails( genericClass.getName() ); + declaringClass = modelsContext.getClassDetailsRegistry().getClassDetails( genericClass.getName() ); } else { - declaringClass = buildingContext.getClassDetailsRegistry() + declaringClass = modelsContext.getClassDetailsRegistry() .getClassDetails( ( (Method) genericDeclaration ).getDeclaringClass().getName() ); } @@ -114,7 +114,7 @@ public TypeVariableDetails caseTypeVariable(TypeVariable typeVariable) { public TypeDetails caseGenericArrayType(GenericArrayType genericArrayType) { final TypeDetails componentType = switcher.switchType( genericArrayType.getGenericComponentType() ); - return TypeDetailsHelper.arrayOf( componentType, buildingContext ); + return TypeDetailsHelper.arrayOf( componentType, modelsContext ); } public TypeDetails defaultCase(Type type) { @@ -123,7 +123,7 @@ public TypeDetails defaultCase(Type type) { private ArrayTypeDetails asArrayType(Class arrayClass) { assert arrayClass.isArray(); - final ClassDetails arrayClassDetails = buildingContext + final ClassDetails arrayClassDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( arrayClass.getName() ); return new ArrayTypeDetailsImpl( diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitcher.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitcher.java index 50b97d1..229b012 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitcher.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/JdkTrackingTypeSwitcher.java @@ -16,7 +16,7 @@ import org.hibernate.models.internal.TypeVariableReferenceDetailsImpl; import org.hibernate.models.internal.util.CollectionHelper; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -31,12 +31,12 @@ public class JdkTrackingTypeSwitcher implements JdkTypeSwitcher { public static TypeDetails standardSwitchType( Type type, - SourceModelBuildingContext buildingContext) { - return new JdkTrackingTypeSwitcher( buildingContext ).switchType( type ); + ModelsContext modelsContext) { + return new JdkTrackingTypeSwitcher( modelsContext ).switchType( type ); } - public JdkTrackingTypeSwitcher(SourceModelBuildingContext buildingContext) { - typeSwitch = new JdkTrackingTypeSwitch( this, buildingContext ); + public JdkTrackingTypeSwitcher(ModelsContext modelsContext) { + typeSwitch = new JdkTrackingTypeSwitch( this, modelsContext ); } @Override diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/SerialJdkClassDetails.java b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/SerialJdkClassDetails.java index 0cc20e0..632885a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/SerialJdkClassDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/jdk/SerialJdkClassDetails.java @@ -6,7 +6,7 @@ import org.hibernate.models.serial.spi.SerialClassDetails; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; public class SerialJdkClassDetails implements SerialClassDetails { private final String name; @@ -28,7 +28,7 @@ public String getClassName() { } @Override - public ClassDetails fromStorableForm(SourceModelBuildingContext context) { + public ClassDetails fromStorableForm(ModelsContext context) { return new JdkClassDetails( name, javaType, context ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/internal/util/ReflectionHelper.java b/hibernate-models/src/main/java/org/hibernate/models/internal/util/ReflectionHelper.java index b69ee85..fffdd4c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/internal/util/ReflectionHelper.java +++ b/hibernate-models/src/main/java/org/hibernate/models/internal/util/ReflectionHelper.java @@ -11,7 +11,7 @@ import org.hibernate.models.ModelsException; import org.hibernate.models.spi.ClassLoading; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -21,7 +21,7 @@ public static Method resolveJavaMember( MethodDetails methodDetails, Class declaringClass, ClassLoading classLoading, - SourceModelContext modelContext) { + ModelsContext modelContext) { final MethodDetails.MethodKind methodKind = methodDetails.getMethodKind(); try { if ( methodKind == MethodDetails.MethodKind.GETTER ) { @@ -35,9 +35,7 @@ else if ( methodKind == MethodDetails.MethodKind.SETTER ) { } else { final List> argumentClasses = CollectionHelper.arrayList( methodDetails.getArgumentTypes().size() ); - methodDetails.getArgumentTypes().forEach( (argumentClassDetails) -> { - argumentClasses.add( argumentClassDetails.toJavaClass( classLoading, modelContext ) ); - } ); + methodDetails.getArgumentTypes().forEach( (argumentClassDetails) -> argumentClasses.add( argumentClassDetails.toJavaClass( classLoading, modelContext ) ) ); return declaringClass.getDeclaredMethod( methodDetails.getName(), argumentClasses.toArray( new Class[0] ) ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/rendering/internal/SimpleRenderer.java b/hibernate-models/src/main/java/org/hibernate/models/rendering/internal/SimpleRenderer.java index 17e6f34..60d9e35 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/rendering/internal/SimpleRenderer.java +++ b/hibernate-models/src/main/java/org/hibernate/models/rendering/internal/SimpleRenderer.java @@ -10,7 +10,7 @@ import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; import org.hibernate.models.rendering.spi.RenderingTarget; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * A Renderer with a simplified output format. @@ -30,7 +30,7 @@ protected RenderingTarget getRenderingTarget() { } @Override - public void renderClassDetails(ClassDetails classDetails, SourceModelContext context) { + public void renderClassDetails(ClassDetails classDetails, ModelsContext context) { final String typeDeclarationPattern; if ( classDetails.isInterface() ) { typeDeclarationPattern = "interface %s {"; @@ -75,13 +75,13 @@ else if ( classDetails.isRecord() ) { } @Override - public void renderFieldDetails(FieldDetails fieldDetails, SourceModelContext context) { + public void renderFieldDetails(FieldDetails fieldDetails, ModelsContext context) { // todo : would be nice to render the type-details to include generics, etc renderingTarget.addLine( "%s %s", fieldDetails.getType().determineRawClass().getName(), fieldDetails.getName() ); } @Override - public void renderMethodDetails(MethodDetails methodDetails, SourceModelContext context) { + public void renderMethodDetails(MethodDetails methodDetails, ModelsContext context) { // todo : would be nice to render the type-details to include generics, etc renderingTarget.addLine( "%s %s (%s)", @@ -98,7 +98,7 @@ public void renderMethodDetails(MethodDetails methodDetails, SourceModelContext } @Override - public void renderRecordComponentDetails(RecordComponentDetails recordComponentDetails, SourceModelContext context) { + public void renderRecordComponentDetails(RecordComponentDetails recordComponentDetails, ModelsContext context) { // todo : would be nice to render the type-details to include generics, etc renderingTarget.addLine( "%s %s", recordComponentDetails.getType().determineRawClass().getName(), recordComponentDetails.getName() ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/AbstractRenderer.java b/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/AbstractRenderer.java index 905d7e6..0b4c80a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/AbstractRenderer.java +++ b/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/AbstractRenderer.java @@ -14,7 +14,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import static org.hibernate.models.internal.AnnotationHelper.extractValue; @@ -27,44 +27,44 @@ public abstract class AbstractRenderer implements Renderer { protected abstract RenderingTarget getRenderingTarget(); @Override - public void renderClass(ClassDetails classDetails, SourceModelContext context) { + public void renderClass(ClassDetails classDetails, ModelsContext context) { renderDirectAnnotations( classDetails, context ); renderClassDetails( classDetails, context ); } - private void renderDirectAnnotations(AnnotationTarget annotationTarget, SourceModelContext context) { + private void renderDirectAnnotations(AnnotationTarget annotationTarget, ModelsContext context) { annotationTarget.forEachDirectAnnotationUsage( (usage) -> renderAnnotation( usage, context ) ); } - protected abstract void renderClassDetails(ClassDetails classDetails, SourceModelContext context); + protected abstract void renderClassDetails(ClassDetails classDetails, ModelsContext context); @Override - public void renderField(FieldDetails fieldDetails, SourceModelContext context) { + public void renderField(FieldDetails fieldDetails, ModelsContext context) { renderDirectAnnotations( fieldDetails, context ); renderFieldDetails( fieldDetails, context ); } - protected abstract void renderFieldDetails(FieldDetails fieldDetails, SourceModelContext context); + protected abstract void renderFieldDetails(FieldDetails fieldDetails, ModelsContext context); @Override - public void renderMethod(MethodDetails methodDetails, SourceModelContext context) { + public void renderMethod(MethodDetails methodDetails, ModelsContext context) { renderDirectAnnotations( methodDetails, context ); renderMethodDetails( methodDetails, context ); } - protected abstract void renderMethodDetails(MethodDetails methodDetails, SourceModelContext context); + protected abstract void renderMethodDetails(MethodDetails methodDetails, ModelsContext context); @Override - public void renderRecordComponent(RecordComponentDetails recordComponentDetails, SourceModelContext context) { + public void renderRecordComponent(RecordComponentDetails recordComponentDetails, ModelsContext context) { renderDirectAnnotations( recordComponentDetails, context ); renderRecordComponentDetails( recordComponentDetails, context ); } - protected abstract void renderRecordComponentDetails(RecordComponentDetails recordComponentDetails, SourceModelContext context); + protected abstract void renderRecordComponentDetails(RecordComponentDetails recordComponentDetails, ModelsContext context); @Override - public void renderAnnotation(A annotation, SourceModelContext context) { + public void renderAnnotation(A annotation, ModelsContext context) { //noinspection unchecked final AnnotationDescriptor descriptor = (AnnotationDescriptor) context.getAnnotationDescriptorRegistry().getDescriptor( annotation.annotationType() ); final List> attributes = descriptor.getAttributes(); @@ -90,7 +90,7 @@ public void renderAnnotation(A annotation, SourceModelCon } @Override - public void renderNestedAnnotation(String name, A annotation, SourceModelContext context) { + public void renderNestedAnnotation(String name, A annotation, ModelsContext context) { //noinspection unchecked final AnnotationDescriptor descriptor = (AnnotationDescriptor) context.getAnnotationDescriptorRegistry().getDescriptor( annotation.annotationType() ); final List> attributes = descriptor.getAttributes(); @@ -111,7 +111,7 @@ public void renderNestedAnnotation(String name, A annotat } @Override - public void renderNestedAnnotation(A annotation, SourceModelContext context) { + public void renderNestedAnnotation(A annotation, ModelsContext context) { //noinspection unchecked final AnnotationDescriptor descriptor = (AnnotationDescriptor) context.getAnnotationDescriptorRegistry().getDescriptor( annotation.annotationType() ); final List> attributes = descriptor.getAttributes(); diff --git a/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/Renderer.java b/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/Renderer.java index 1abb1bb..bafc6d8 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/Renderer.java +++ b/hibernate-models/src/main/java/org/hibernate/models/rendering/spi/Renderer.java @@ -10,7 +10,7 @@ import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** * Contract for rendering parts of a model. @@ -21,35 +21,35 @@ public interface Renderer { /** * Render details about the class */ - void renderClass(ClassDetails classDetails, SourceModelContext context); + void renderClass(ClassDetails classDetails, ModelsContext context); /** * Render details about the field */ - void renderField(FieldDetails fieldDetails, SourceModelContext context); + void renderField(FieldDetails fieldDetails, ModelsContext context); /** * Render details about the method */ - void renderMethod(MethodDetails methodDetails, SourceModelContext context); + void renderMethod(MethodDetails methodDetails, ModelsContext context); /** * Render details about the record component */ - void renderRecordComponent(RecordComponentDetails recordComponentDetails, SourceModelContext context); + void renderRecordComponent(RecordComponentDetails recordComponentDetails, ModelsContext context); /** * Render details about the annotation (top-level) */ - void renderAnnotation(A annotation, SourceModelContext context); + void renderAnnotation(A annotation, ModelsContext context); /** * Render details about the named nested annotation. */ - void renderNestedAnnotation(String name, A annotation, SourceModelContext context); + void renderNestedAnnotation(String name, A annotation, ModelsContext context); /** * Render details about the unnamed nested annotation. */ - void renderNestedAnnotation(A annotation, SourceModelContext context); + void renderNestedAnnotation(A annotation, ModelsContext context); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/ClassDetailsBuilderImpl.java b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/ClassDetailsBuilderImpl.java index e04f5ec..2d69bfc 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/ClassDetailsBuilderImpl.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/ClassDetailsBuilderImpl.java @@ -8,7 +8,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsBuilder; import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -21,12 +21,12 @@ public ClassDetailsBuilderImpl(StorableContextImpl serialContext, ClassLoading c } @Override - public ClassDetails buildClassDetails(String name, SourceModelBuildingContext buildingContext) { + public ClassDetails buildClassDetails(String name, ModelsContext modelsContext) { if ( serialContext == null ) { throw new IllegalStateException( "Building context is now immutable" ); } final SerialClassDetails serialClassDetails = serialContext.getSerialClassDetailsMap().get( name ); - return serialClassDetails.fromStorableForm( buildingContext ); + return serialClassDetails.fromStorableForm( modelsContext ); } public void invalidate() { diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/RestoredModelContext.java b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/RestoredModelContext.java index 4653fbe..9d1db94 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/RestoredModelContext.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/RestoredModelContext.java @@ -17,24 +17,20 @@ import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** - * SourceModelBuildingContext implementation used with serialization support. + * ModelsContext implementation used with serialization support. * - * @implNote This implementation is considered immutable after construction. It implements - * {@linkplain SourceModelBuildingContext} instead of just {@linkplain SourceModelContext} - * simply for ease of coding. From the API point of view, via {@linkplain StorableContext#fromStorableForm}, - * this implementation is always treated as an immutable {@linkplain SourceModelContext}. + * @see StorableContext#fromStorableForm(ClassLoading) * * @author Steve Ebersole */ -public class RestoredModelContext implements SourceModelBuildingContext { +public class RestoredModelContext implements ModelsContext { private final MutableAnnotationDescriptorRegistry annotationDescriptorRegistry; private final MutableClassDetailsRegistry classDetailsRegistry; - private ClassLoading classLoading; + private final ClassLoading classLoading; public RestoredModelContext(StorableContextImpl serialContext, ClassLoading classLoading) { this.classLoading = classLoading; @@ -54,7 +50,6 @@ public RestoredModelContext(StorableContextImpl serialContext, ClassLoading clas annotationDescriptorRegistry.register( serialDescriptor.fromStorableForm( this ) ); } - classLoading = null; classDetailsBuilder.invalidate(); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/SerialAnnotationDescriptorImpl.java b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/SerialAnnotationDescriptorImpl.java index cdbe6be..1e1aaca 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/SerialAnnotationDescriptorImpl.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/SerialAnnotationDescriptorImpl.java @@ -9,7 +9,7 @@ import org.hibernate.models.internal.StandardAnnotationDescriptor; import org.hibernate.models.serial.spi.SerialAnnotationDescriptor; import org.hibernate.models.spi.AnnotationDescriptor; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** * @author Steve Ebersole @@ -22,7 +22,7 @@ public SerialAnnotationDescriptorImpl(Class annotationType) { } @Override - public AnnotationDescriptor fromStorableForm(SourceModelBuildingContext context) { + public AnnotationDescriptor fromStorableForm(ModelsContext context) { return new StandardAnnotationDescriptor<>( annotationType, context ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/StorableContextImpl.java b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/StorableContextImpl.java index 5911d88..bf8df53 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/internal/StorableContextImpl.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/internal/StorableContextImpl.java @@ -14,12 +14,12 @@ import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import static org.hibernate.models.internal.util.CollectionHelper.linkedMapOfSize; /** - * Standard implementation of {@linkplain StorableContext} representing a serializable {@linkplain SourceModelContext} + * Standard implementation of {@linkplain StorableContext} representing a serializable {@linkplain ModelsContext} * * @author Steve Ebersole */ @@ -42,7 +42,7 @@ public StorableContextImpl( } @Override - public SourceModelContext fromStorableForm(ClassLoading classLoading) { + public ModelsContext fromStorableForm(ClassLoading classLoading) { return new RestoredModelContext( this, classLoading ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/package-info.java b/hibernate-models/src/main/java/org/hibernate/models/serial/package-info.java index ea61aab..52ee4a0 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/package-info.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/package-info.java @@ -4,7 +4,7 @@ */ /** - * Support for serializing and deserializing {@linkplain org.hibernate.models.spi.SourceModelBuildingContext}, + * Support for serializing and deserializing {@linkplain org.hibernate.models.spi.ModelsContext}, * {@linkplain org.hibernate.models.spi.ClassDetailsRegistry}, * {@linkplain org.hibernate.models.spi.AnnotationDescriptorRegistry}, etc. */ diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/spi/Storable.java b/hibernate-models/src/main/java/org/hibernate/models/serial/spi/Storable.java index d5505eb..fb9b1ce 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/spi/Storable.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/spi/Storable.java @@ -4,8 +4,10 @@ */ package org.hibernate.models.serial.spi; +import org.hibernate.models.spi.ModelsContext; + /** - * A part of the {@linkplain org.hibernate.models.spi.SourceModelContext model context} which can + * A part of the {@linkplain ModelsContext model context} which can * be stored in the context's {@linkplain StorableContext serial form}. * * @param The storable's type diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableContext.java b/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableContext.java index f4761af..cedef5c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableContext.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableContext.java @@ -7,13 +7,12 @@ import java.io.Serializable; import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; /** - * Form of {@linkplain SourceModelContext} which is serializable. + * Form of {@linkplain ModelsContext} which is serializable. * - * @see SourceModelBuildingContext#toStorableForm() + * @see ModelsContext#toStorableForm() * * @author Steve Ebersole */ @@ -21,5 +20,5 @@ public interface StorableContext extends Serializable { /** * "Re-construct" the model context from the serial form */ - SourceModelContext fromStorableForm(ClassLoading classLoading); + ModelsContext fromStorableForm(ClassLoading classLoading); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableForm.java b/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableForm.java index b3a573f..835727c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableForm.java +++ b/hibernate-models/src/main/java/org/hibernate/models/serial/spi/StorableForm.java @@ -6,14 +6,14 @@ import java.io.Serializable; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; /** - * Serial form for various parts of a {@linkplain SourceModelBuildingContext context} + * Serial form for various parts of a {@linkplain ModelsContext context} * included in its {@linkplain StorableContext serial form}. * * @author Steve Ebersole */ public interface StorableForm extends Serializable { - T fromStorableForm(SourceModelBuildingContext context); + T fromStorableForm(ModelsContext context); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationDescriptor.java index df84301..963017f 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationDescriptor.java @@ -40,30 +40,30 @@ default S as(Class type) { } @Override - default ClassDetails getContainer(SourceModelBuildingContext modelBuildingContext) { - final ClassDetails annotationClassDetails = modelBuildingContext + default ClassDetails getContainer(ModelsContext modelsContext) { + final ClassDetails annotationClassDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( getAnnotationType().getName() ); - return annotationClassDetails.getContainer( modelBuildingContext ); + return annotationClassDetails.getContainer( modelsContext ); } /** * Create an empty usage. Used when there is no source form, such as XML processing. */ - A createUsage(SourceModelBuildingContext context); + A createUsage(ModelsContext context); /** * Create a usage from the JDK representation. This will often just return the passed annotation, * although for Hibernate and JPA annotations we generally want wrappers to be able to manipulate the * values. */ - A createUsage(A jdkAnnotation, SourceModelBuildingContext context); + A createUsage(A jdkAnnotation, ModelsContext context); /** * Create a usage from the JDK representation. This will often just return the passed annotation, * although for Hibernate and JPA annotations we generally want wrappers to be able to manipulate the * values. */ - default A createUsage(Map attributeValues, SourceModelBuildingContext context) { + default A createUsage(Map attributeValues, ModelsContext context) { return AnnotationProxy.makeProxy( this, attributeValues ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationTarget.java b/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationTarget.java index 42b49d9..5ce9d0a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationTarget.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/AnnotationTarget.java @@ -44,9 +44,9 @@ public interface AnnotationTarget { * * * @apiNote If not already, this resolution should be registered into the context's - * {@linkplain SourceModelBuildingContext#getClassDetailsRegistry() class registry} + * {@linkplain ModelsContext#getClassDetailsRegistry() class registry} */ - ClassDetails getContainer(SourceModelBuildingContext modelBuildingContext); + ClassDetails getContainer(ModelsContext modelsContext); /** * Walk "up" {@linkplain #getContainer containers} from this target. @@ -57,7 +57,7 @@ public interface AnnotationTarget { */ default void walkContainers( boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { AnnotationTargetHelper.walkContainers( this, crossPackageBoundaries, modelContext, consumer ); } @@ -71,7 +71,7 @@ default void walkContainers( */ default void walkSelfAndContainers( boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { AnnotationTargetHelper.walkSelfAndContainers( this, crossPackageBoundaries, modelContext, consumer ); } @@ -85,7 +85,7 @@ default void walkSelfAndContainers( */ default T fromContainers( boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Function matchingExtractor) { return AnnotationTargetHelper.fromContainers( this, crossPackageBoundaries, modelContext, matchingExtractor ); } @@ -99,7 +99,7 @@ default T fromContainers( */ default T fromSelfAndContainers( boolean crossPackageBoundaries, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Function matchingExtractor) { return AnnotationTargetHelper.fromSelfAndContainers( this, crossPackageBoundaries, modelContext, matchingExtractor ); } @@ -135,7 +135,7 @@ default void forEachDirectAnnotationUsage(Consumer consume boolean hasDirectAnnotationUsage(Class type); /** - * Form of {@linkplain #getAnnotationUsage(AnnotationDescriptor, SourceModelBuildingContext)} which returns {@code null} instead of + * Form of {@linkplain #getAnnotationUsage(AnnotationDescriptor, ModelsContext)} which returns {@code null} instead of * throwing {@linkplain AnnotationAccessException} when more than one usage of the requested * annotation exists. */ @@ -155,7 +155,7 @@ default void forEachDirectAnnotationUsage(Consumer consume * method with {@code NamedQuery} will return {@code true} when the target directly * has a NamedQueries. */ - boolean hasAnnotationUsage(Class type, SourceModelBuildingContext modelContext); + boolean hasAnnotationUsage(Class type, ModelsContext modelContext); /** * Get the usage of the given annotation on this target. @@ -176,16 +176,16 @@ default void forEachDirectAnnotationUsage(Consumer consume * * *

- * For also checking across meta-annotations, see {@linkplain #locateAnnotationUsage(Class, SourceModelBuildingContext)}. + * For also checking across meta-annotations, see {@linkplain #locateAnnotationUsage(Class, ModelsContext)}. * * @return The usage or {@code null} */ - A getAnnotationUsage(AnnotationDescriptor descriptor, SourceModelBuildingContext modelContext); + A getAnnotationUsage(AnnotationDescriptor descriptor, ModelsContext modelContext); /** - * Form of {@link #getAnnotationUsage(AnnotationDescriptor, SourceModelBuildingContext)} accepting the annotation {@linkplain Class} + * Form of {@link #getAnnotationUsage(AnnotationDescriptor, ModelsContext)} accepting the annotation {@linkplain Class} */ - default A getAnnotationUsage(Class type, SourceModelBuildingContext modelContext) { + default A getAnnotationUsage(Class type, ModelsContext modelContext) { return getAnnotationUsage( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), modelContext ); } @@ -193,7 +193,7 @@ default A getAnnotationUsage(Class type, SourceModelBu * Form of {@linkplain #getAnnotationUsage} which also considers meta-annotations - * annotations on the classes of each {@linkplain #getDirectAnnotationUsages() local annotation}. */ - A locateAnnotationUsage(Class type, SourceModelBuildingContext modelContext); + A locateAnnotationUsage(Class type, ModelsContext modelContext); /** * Get all usages of the specified {@code annotationType} in this scope. @@ -204,26 +204,26 @@ default A getAnnotationUsage(Class type, SourceModelBu *

  • the nested {@code @NamedQuery} usages from the {@code @NamedQueries} usage
  • * */ - A[] getRepeatedAnnotationUsages(AnnotationDescriptor type, SourceModelBuildingContext modelContext); + A[] getRepeatedAnnotationUsages(AnnotationDescriptor type, ModelsContext modelContext); /** - * Form of {@linkplain #getRepeatedAnnotationUsages(AnnotationDescriptor, SourceModelBuildingContext)} accepting the annotation {@linkplain Class} + * Form of {@linkplain #getRepeatedAnnotationUsages(AnnotationDescriptor, ModelsContext)} accepting the annotation {@linkplain Class} */ default A[] getRepeatedAnnotationUsages( Class type, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return getRepeatedAnnotationUsages( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), modelContext ); } void forEachRepeatedAnnotationUsages( Class repeatable, Class container, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer); default void forEachRepeatedAnnotationUsages( AnnotationDescriptor repeatable, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { assert repeatable.isRepeatable(); forEachRepeatedAnnotationUsages( @@ -242,7 +242,7 @@ default void forEachRepeatedAnnotati */ default void forEachAnnotationUsage( AnnotationDescriptor type, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { final X[] annotations = getRepeatedAnnotationUsages( type, modelContext ); if ( annotations == null ) { @@ -254,11 +254,11 @@ default void forEachAnnotationUsage( } /** - * Form of {@link #forEachAnnotationUsage(AnnotationDescriptor, SourceModelBuildingContext, Consumer)} accepting the annotation {@linkplain Class} + * Form of {@link #forEachAnnotationUsage(AnnotationDescriptor, ModelsContext, Consumer)} accepting the annotation {@linkplain Class} */ default void forEachAnnotationUsage( Class type, - SourceModelBuildingContext modelContext, + ModelsContext modelContext, Consumer consumer) { forEachAnnotationUsage( modelContext.getAnnotationDescriptorRegistry().getDescriptor( type ), @@ -293,7 +293,7 @@ default void forEachAnnotationUsage( * @apiNote This method does not check across repeatable containers. Although the return is a List, we * are functionally wanting just the unique ones. */ - List getMetaAnnotated(Class metaAnnotationType, SourceModelBuildingContext modelContext); + List getMetaAnnotated(Class metaAnnotationType, ModelsContext modelContext); /** * Get a usage of the given annotation {@code type} whose {@code attributeToMatch} attribute value @@ -304,17 +304,17 @@ default void forEachAnnotationUsage( default X getNamedAnnotationUsage( AnnotationDescriptor type, String matchName, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return getNamedAnnotationUsage( type, matchName, "name", modelContext ); } /** - * Helper form of {@linkplain #getNamedAnnotationUsage(AnnotationDescriptor, String, SourceModelBuildingContext)} + * Helper form of {@linkplain #getNamedAnnotationUsage(AnnotationDescriptor, String, ModelsContext)} */ default X getNamedAnnotationUsage( Class type, String matchName, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { return getNamedAnnotationUsage( type, matchName, "name", modelContext ); } @@ -329,16 +329,16 @@ X getNamedAnnotationUsage( AnnotationDescriptor type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext); + ModelsContext modelContext); /** - * Helper form of {@linkplain #getNamedAnnotationUsage(AnnotationDescriptor, String, String, SourceModelBuildingContext)} + * Helper form of {@linkplain #getNamedAnnotationUsage(AnnotationDescriptor, String, String, ModelsContext)} */ X getNamedAnnotationUsage( Class type, String matchName, String attributeToMatch, - SourceModelBuildingContext modelContext); + ModelsContext modelContext); /** * Functional contract to process an annotation and return a value. @@ -368,7 +368,7 @@ interface AnnotationUsageProcessor { default T fromAnnotations( Class annotationType, AnnotationUsageProcessor processor, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final A[] annotationUsages = getRepeatedAnnotationUsages( annotationType, modelContext ); for ( A annotationUsage : annotationUsages ) { final T result = processor.process( annotationUsage ); diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetails.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetails.java index 4da1e0d..d55a8e6 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetails.java @@ -67,11 +67,11 @@ default Kind getKind() { String getClassName(); @Override - default ClassDetails getContainer(SourceModelBuildingContext modelBuildingContext) { + default ClassDetails getContainer(ModelsContext modelsContext) { if ( getClassName() == null || getClassName().indexOf( "." ) <= 0 ) { return null; } - return AnnotationTargetHelper.resolvePackageInfo( this, modelBuildingContext ); + return AnnotationTargetHelper.resolvePackageInfo( this, modelsContext ); } /** @@ -294,7 +294,7 @@ default void forEachPersistableMember(Consumer consumer) { * Load the corresponding {@linkplain Class} using standard * {@linkplain ClassLoading}. * - * @see SourceModelBuildingContext#getClassLoading() + * @see ModelsContext#getClassLoading() * * @apiNote Know what you are doing before calling this method * @@ -312,7 +312,7 @@ default void forEachPersistableMember(Consumer consumer) { * @throws DynamicClassException If this ClassDetails does not correspond to a Java class * (generally meaning {@linkplain #getClassName()} returns {@code null}). */ - Class toJavaClass(ClassLoading classLoading, SourceModelContext modelContext); + Class toJavaClass(ClassLoading classLoading, ModelsContext modelContext); @Override default ClassDetails asClassDetails() { diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilder.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilder.java index ee3d8c6..74efe59 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilder.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilder.java @@ -19,5 +19,5 @@ public interface ClassDetailsBuilder { * * @throws UnknownClassException To indicate that the given class name is not valid */ - ClassDetails buildClassDetails(String name, SourceModelBuildingContext buildingContext); + ClassDetails buildClassDetails(String name, ModelsContext modelsContext); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilderProvider.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilderProvider.java deleted file mode 100644 index e56048e..0000000 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/ClassDetailsBuilderProvider.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.spi; - -/** - * Contract for providing custom {@link ClassDetailsBuilder} handling into the processing of - * {@link ClassDetailsRegistry#resolveClassDetails} for a Java type we have not yet seen. - * - * @apiNote {@linkplain java.util.ServiceLoader Loadable service} for extensibility. - * - * @author Steve Ebersole - */ -public interface ClassDetailsBuilderProvider { - /** - * Provide a specialized {@linkplain ClassDetailsBuilder} for this provider, or {@code null} - * - * @eturn - * if none (e.g., the Jandex provider might return null here to indicate that there is no Jandex index available). - */ - ClassDetailsBuilder provideBuilder(SourceModelBuildingContext buildingContext); -} diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/FieldDetails.java b/hibernate-models/src/main/java/org/hibernate/models/spi/FieldDetails.java index 0896ae4..bb28fdb 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/FieldDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/FieldDetails.java @@ -34,7 +34,7 @@ default boolean isPersistable() { Field toJavaMember(); @Override - Field toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext); + Field toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext); @Override default FieldDetails asFieldDetails() { diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueConverter.java b/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueConverter.java index 11ac996..2078b2c 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueConverter.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueConverter.java @@ -8,5 +8,5 @@ * @author Steve Ebersole */ public interface JdkValueConverter { - V convert(V rawValue, SourceModelBuildingContext modelContext); + V convert(V rawValue, ModelsContext modelContext); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueExtractor.java b/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueExtractor.java index 07de4ee..1cf94a2 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueExtractor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/JdkValueExtractor.java @@ -13,7 +13,7 @@ public interface JdkValueExtractor { /** * Extract the value of the named attribute from the given annotation */ - V extractValue(A usage, String attributeName, SourceModelBuildingContext modelContext); + V extractValue(A usage, String attributeName, ModelsContext modelContext); /** * Extract the value of the described attribute from the given annotation @@ -21,5 +21,5 @@ public interface JdkValueExtractor { V extractValue( A usage, AttributeDescriptor attributeDescriptor, - SourceModelBuildingContext modelContext); + ModelsContext modelContext); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/MemberDetails.java b/hibernate-models/src/main/java/org/hibernate/models/spi/MemberDetails.java index ca24835..49de69d 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/MemberDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/MemberDetails.java @@ -42,7 +42,7 @@ public interface MemberDetails extends AnnotationTarget { TypeDetails getType(); @Override - default ClassDetails getContainer(SourceModelBuildingContext modelBuildingContext) { + default ClassDetails getContainer(ModelsContext modelsContext) { return getDeclaringType(); } @@ -220,7 +220,7 @@ default boolean isField() { */ Member toJavaMember(); - Member toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext); + Member toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext); /** * Determine the type of the member relative to the given {@code container} type. diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/MethodDetails.java b/hibernate-models/src/main/java/org/hibernate/models/spi/MethodDetails.java index d1d66f2..d7c6fdc 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/MethodDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/MethodDetails.java @@ -59,7 +59,7 @@ else if ( methodName.startsWith( "get" ) ) { Method toJavaMember(); @Override - Method toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext); + Method toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext); @Override default FieldDetails asFieldDetails() { diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsConfiguration.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsConfiguration.java index e53a9f8..199d1c1 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsConfiguration.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsConfiguration.java @@ -8,12 +8,12 @@ import java.util.HashMap; import java.util.Map; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.internal.BasicModelsContextImpl; import org.hibernate.models.internal.ModelsLogging; import org.hibernate.models.internal.SimpleClassLoading; /** - * Bootstrapping of {@linkplain SourceModelBuildingContext} + * Bootstrapping of {@linkplain ModelsContext} * * @author Steve Ebersole */ @@ -23,7 +23,7 @@ public class ModelsConfiguration { private ClassLoading classLoading = SimpleClassLoading.SIMPLE_CLASS_LOADING; private RegistryPrimer registryPrimer; - private SourceModelBuildingContextProvider explicitContextProvider; + private ModelsContextProvider explicitContextProvider; public ModelsConfiguration() { } @@ -71,7 +71,7 @@ public ModelsConfiguration setClassLoading(ClassLoading classLoading) { /** * A primer for {@linkplain ClassDetailsRegistry} and * {@linkplain AnnotationDescriptorRegistry} applied when - * the {@linkplain SourceModelBuildingContext} is first built. + * the {@linkplain ModelsContext} is first built. */ public RegistryPrimer getRegistryPrimer() { return registryPrimer; @@ -86,32 +86,32 @@ public ModelsConfiguration setRegistryPrimer(RegistryPrimer registryPrimer) { } /** - * An {@linkplain SourceModelBuildingContextProvider explicit provider} to use. + * An {@linkplain ModelsContextProvider explicit provider} to use. * * @see #setExplicitContextProvider */ - public SourceModelBuildingContextProvider getExplicitContextProvider() { + public ModelsContextProvider getExplicitContextProvider() { return explicitContextProvider; } /** * Specify an {@linkplain #getExplicitContextProvider explicit provider} for - * {@linkplain SourceModelBuildingContext} instances. + * {@linkplain ModelsContext} instances. * * @implNote Prefer use of Java {@linkplain java.util.ServiceLoader service loading} * for supplying a specific provider. */ - public ModelsConfiguration setExplicitContextProvider(SourceModelBuildingContextProvider explicitContextProvider) { + public ModelsConfiguration setExplicitContextProvider(ModelsContextProvider explicitContextProvider) { this.explicitContextProvider = explicitContextProvider; return this; } /** - * Build the {@linkplain SourceModelBuildingContext} instance. + * Build the {@linkplain ModelsContext} instance. */ - public SourceModelBuildingContext bootstrap() { + public ModelsContext bootstrap() { if ( explicitContextProvider != null ) { - final SourceModelBuildingContext context = explicitContextProvider.produceContext( + final ModelsContext context = explicitContextProvider.produceContext( classLoading, registryPrimer, configValues @@ -119,15 +119,15 @@ public SourceModelBuildingContext bootstrap() { if ( context != null ) { return context; } - ModelsLogging.MODELS_LOGGER.debugf( "Explicit SourceModelBuildingContextProvider returned null" ); + ModelsLogging.MODELS_LOGGER.debugf( "Explicit ModelsContext returned null" ); } - final Collection discoveredProviders = classLoading.loadJavaServices( SourceModelBuildingContextProvider.class ); + final Collection discoveredProviders = classLoading.loadJavaServices( ModelsContextProvider.class ); if ( discoveredProviders.size() > 1 ) { - ModelsLogging.MODELS_LOGGER.debugf( "Multiple SourceModelBuildingContextProvider impls found" ); + ModelsLogging.MODELS_LOGGER.debugf( "Multiple ModelsContext impls found" ); } - for ( SourceModelBuildingContextProvider provider : discoveredProviders ) { - final SourceModelBuildingContext context = provider.produceContext( + for ( ModelsContextProvider provider : discoveredProviders ) { + final ModelsContext context = provider.produceContext( classLoading, registryPrimer, configValues @@ -137,6 +137,6 @@ public SourceModelBuildingContext bootstrap() { } } - return new BasicModelBuildingContextImpl( classLoading, registryPrimer ); + return new BasicModelsContextImpl( classLoading, registryPrimer ); } } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContext.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContext.java new file mode 100644 index 0000000..4698615 --- /dev/null +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContext.java @@ -0,0 +1,70 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.spi; + +import java.util.Locale; + +import org.hibernate.models.serial.spi.StorableContext; + +/** + * Context object for hibernate-models. + * Basically support for accessing the {@linkplain #getClassDetailsRegistry() ClassDetails registry} + * and the {@linkplain #getAnnotationDescriptorRegistry() AnnotationDescriptor registry}. + * Additionally, defines support for {@linkplain #as treat-style casting} + * and {@linkplain #toStorableForm() serialization}. + * + * @author Steve Ebersole + */ +public interface ModelsContext { + /** + * The registry of annotation descriptors. + */ + AnnotationDescriptorRegistry getAnnotationDescriptorRegistry(); + + /** + * Registry of managed-classes. + */ + ClassDetailsRegistry getClassDetailsRegistry(); + + /** + * Access to {@linkplain ClassLoader} operations. + */ + ClassLoading getClassLoading(); + + /** + * Treat support. + */ + default S as(Class type) { + if ( type.isInstance( this ) ) { + return type.cast( this ); + } + + if ( type.isInstance( getClassDetailsRegistry() ) ) { + return type.cast( getClassDetailsRegistry() ); + } + + if ( type.isInstance( getAnnotationDescriptorRegistry() ) ) { + return type.cast( getAnnotationDescriptorRegistry() ); + } + + if ( type.isInstance( getClassLoading() ) ) { + return type.cast(getClassLoading() ); + } + + throw new UnsupportedOperationException( + String.format( + Locale.ROOT, + "Cannot treat ModelsContext(%s) as `%s`", + this, + type.getName() + ) + ); + } + + /** + * Serialization support. + */ + StorableContext toStorableForm(); +} diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContextProvider.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContextProvider.java new file mode 100644 index 0000000..4a9081a --- /dev/null +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/ModelsContextProvider.java @@ -0,0 +1,27 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.spi; + +import java.util.Map; + +import org.hibernate.models.internal.BasicModelsContextImpl; + +/** + * {@linkplain java.util.ServiceLoader Java service loadable} support for + * providing {@linkplain ModelsContext} implementations. + * + * @apiNote If none found, or if the provider(s) return null, the expectation is that the + * {@linkplain BasicModelsContextImpl default implementation} will be used. + * + * @author Steve Ebersole + */ +public interface ModelsContextProvider { + /** + * Produce the ModelsContext. + * + * @return The alternate context, or null. + */ + ModelsContext produceContext(ClassLoading classLoading, RegistryPrimer registryPrimer, Map configProperties); +} diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/MutableAnnotationTarget.java b/hibernate-models/src/main/java/org/hibernate/models/spi/MutableAnnotationTarget.java index 7e592ae..c8a9508 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/MutableAnnotationTarget.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/MutableAnnotationTarget.java @@ -34,7 +34,7 @@ public interface MutableAnnotationTarget extends AnnotationTarget { */ default A applyAnnotationUsage( AnnotationDescriptor annotationType, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final A existing = getAnnotationUsage( annotationType, modelContext ); if ( existing != null ) { return existing; @@ -48,18 +48,18 @@ default A applyAnnotationUsage( /** * Creates and replaces (if any) an existing usage of the given annotation. *

    - * For repeatable annotations, use {@linkplain #replaceAnnotationUsage(AnnotationDescriptor, AnnotationDescriptor, SourceModelBuildingContext)} + * For repeatable annotations, use {@linkplain #replaceAnnotationUsage(AnnotationDescriptor, AnnotationDescriptor, ModelsContext)} * instead. * * @apiNote Generally replacement is used with XML processing and, again generally, * only for repeatable annotations using - * {@linkplain #replaceAnnotationUsage(AnnotationDescriptor, AnnotationDescriptor, SourceModelBuildingContext)} + * {@linkplain #replaceAnnotationUsage(AnnotationDescriptor, AnnotationDescriptor, ModelsContext)} * - * @see #replaceAnnotationUsage(AnnotationDescriptor, AnnotationDescriptor, SourceModelBuildingContext) + * @see #replaceAnnotationUsage(AnnotationDescriptor, AnnotationDescriptor, ModelsContext) */ default A replaceAnnotationUsage( AnnotationDescriptor annotationType, - SourceModelBuildingContext modelContext) { + ModelsContext modelContext) { final A usage = annotationType.createUsage( modelContext ); // effectively overwrites any previous registration addAnnotationUsage( usage ); @@ -73,12 +73,12 @@ default A replaceAnnotationUsage( * Applies a usage of the given {@code annotationType} to this target. Will return * an existing usage, if one, or create a new usage. * - * @see #replaceAnnotationUsage(AnnotationDescriptor, SourceModelBuildingContext) + * @see #replaceAnnotationUsage(AnnotationDescriptor, ModelsContext) */ P replaceAnnotationUsage( AnnotationDescriptor repeatableType, AnnotationDescriptor

    containerType, - SourceModelBuildingContext modelContext); + ModelsContext modelContext); @Override MutableClassDetails asClassDetails(); diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/RecordComponentDetails.java b/hibernate-models/src/main/java/org/hibernate/models/spi/RecordComponentDetails.java index 423b2c8..96c89af 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/RecordComponentDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/RecordComponentDetails.java @@ -35,7 +35,7 @@ default boolean isPersistable() { Member toJavaMember(); @Override - Member toJavaMember(Class declaringClass, ClassLoading classLoading, SourceModelContext modelContext); + Member toJavaMember(Class declaringClass, ClassLoading classLoading, ModelsContext modelContext); @Override default FieldDetails asFieldDetails() { diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/RegistryPrimer.java b/hibernate-models/src/main/java/org/hibernate/models/spi/RegistryPrimer.java index c0b1944..d770518 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/RegistryPrimer.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/RegistryPrimer.java @@ -14,7 +14,7 @@ */ @FunctionalInterface public interface RegistryPrimer { - void primeRegistries(Contributions contributions, SourceModelBuildingContext buildingContext); + void primeRegistries(Contributions contributions, ModelsContext modelsContext); interface Contributions { /** diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContext.java b/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContext.java deleted file mode 100644 index a310035..0000000 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContext.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.spi; - -import org.hibernate.models.serial.spi.StorableContext; - -/** - * Context object used while building references for {@link AnnotationDescriptor}, - * {@link ClassDetails} and friends. - * - * @author Steve Ebersole - */ -public interface SourceModelBuildingContext extends SourceModelContext { //, SharedNamedAnnotationScope { - /** - * If model processing code needs to load things from the class-loader, they should - * really use this access. At this level, accessing the class-loader at all - * sh - */ - ClassLoading getClassLoading(); - - default S as(Class type) { - //noinspection unchecked - return (S) this; - } - - StorableContext toStorableForm(); -} diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContextProvider.java b/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContextProvider.java deleted file mode 100644 index 07c4d92..0000000 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelBuildingContextProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.spi; - -import java.util.Map; - -/** - * Pluggable support for optional {@linkplain SourceModelBuildingContext} implementations, resolved - * using {@linkplain java.util.ServiceLoader Java services}. - * - * @apiNote If none found, or if the provider(s) return null, the expectation is that the - * {@linkplain org.hibernate.models.internal.BasicModelBuildingContextImpl default impl} should be used. - * - * @author Steve Ebersole - */ -public interface SourceModelBuildingContextProvider { - /** - * Produce an alternate SourceModelBuildingContext. - * - * @return The alternate context, or null. - */ - SourceModelBuildingContext produceContext(ClassLoading classLoading, RegistryPrimer registryPrimer, Map configProperties); -} diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelContext.java b/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelContext.java deleted file mode 100644 index 9b9b642..0000000 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/SourceModelContext.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models.spi; - -/** - * @author Steve Ebersole - */ -public interface SourceModelContext { - /** - * The registry of annotation descriptors - */ - AnnotationDescriptorRegistry getAnnotationDescriptorRegistry(); - - /** - * Registry of managed-classes - */ - ClassDetailsRegistry getClassDetailsRegistry(); -} diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetails.java b/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetails.java index ea5984c..e51faa9 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetails.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetails.java @@ -104,7 +104,7 @@ default WildcardTypeDetails asWildcardType() { */ default boolean isResolved() { // IMPORTANT : Relies on the fact that `IsResolvedTypeSwitch` never uses the - // `SourceModelBuildingContext` passed to it as a `TypeDetailsSwitch` implementation. + // `ModelsContext` passed to it as a `TypeDetailsSwitch` implementation. // Hence, the passing `null` here return switchType( this, IsResolvedTypeSwitch.IS_RESOLVED_SWITCH, null ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsHelper.java b/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsHelper.java index 1c547c0..155f93f 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsHelper.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsHelper.java @@ -233,19 +233,19 @@ private static TypeDetails findMatchingTypeArgument( /** * Make an array type of the given component type */ - public static ArrayTypeDetails arrayOf(TypeDetails constituentType, SourceModelBuildingContext buildingContext) { + public static ArrayTypeDetails arrayOf(TypeDetails constituentType, ModelsContext modelsContext) { final ClassDetails arrayClassDetails; if ( constituentType.getTypeKind() == TypeDetails.Kind.PRIMITIVE ) { final PrimitiveTypeDetails primitiveType = constituentType.asPrimitiveType(); final PrimitiveKind primitiveKind = primitiveType.getPrimitiveKind(); - arrayClassDetails = buildingContext + arrayClassDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( "[" + primitiveKind.getJavaTypeChar() ); } else { final ClassDetails rawComponentType = constituentType.determineRawClass(); final String arrayClassName = "[L" + rawComponentType.getName().replace( '.', '/' ) + ";"; - arrayClassDetails = buildingContext + arrayClassDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( arrayClassName ); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsSwitch.java b/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsSwitch.java index f8a4ed5..7ed343a 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsSwitch.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/TypeDetailsSwitch.java @@ -13,34 +13,34 @@ public interface TypeDetailsSwitch { /** * Main entry into the generics interpretation, with delegation to the defined case methods */ - static T switchType(TypeDetails typeDetails, TypeDetailsSwitch switcher, SourceModelBuildingContext buildingContext) { + static T switchType(TypeDetails typeDetails, TypeDetailsSwitch switcher, ModelsContext modelsContext) { switch( typeDetails.getTypeKind() ) { case CLASS -> { - return switcher.caseClass( typeDetails.asClassType(), buildingContext ); + return switcher.caseClass( typeDetails.asClassType(), modelsContext ); } case PRIMITIVE -> { - return switcher.casePrimitive( typeDetails.asPrimitiveType(), buildingContext ); + return switcher.casePrimitive( typeDetails.asPrimitiveType(), modelsContext ); } case VOID -> { - return switcher.caseVoid( typeDetails.asVoidType(), buildingContext ); + return switcher.caseVoid( typeDetails.asVoidType(), modelsContext ); } case ARRAY -> { - return switcher.caseArrayType( typeDetails.asArrayType(), buildingContext ); + return switcher.caseArrayType( typeDetails.asArrayType(), modelsContext ); } case PARAMETERIZED_TYPE -> { - return switcher.caseParameterizedType( typeDetails.asParameterizedType(), buildingContext ); + return switcher.caseParameterizedType( typeDetails.asParameterizedType(), modelsContext ); } case WILDCARD_TYPE -> { - return switcher.caseWildcardType( typeDetails.asWildcardType(), buildingContext ); + return switcher.caseWildcardType( typeDetails.asWildcardType(), modelsContext ); } case TYPE_VARIABLE -> { - return switcher.caseTypeVariable( typeDetails.asTypeVariable(), buildingContext ); + return switcher.caseTypeVariable( typeDetails.asTypeVariable(), modelsContext ); } case TYPE_VARIABLE_REFERENCE -> { - return switcher.caseTypeVariableReference( typeDetails.asTypeVariableReference(), buildingContext ); + return switcher.caseTypeVariableReference( typeDetails.asTypeVariableReference(), modelsContext ); } default -> { - return switcher.defaultCase( typeDetails, buildingContext ); + return switcher.defaultCase( typeDetails, modelsContext ); } } } @@ -48,45 +48,45 @@ static T switchType(TypeDetails typeDetails, TypeDetailsSwitch switcher, /** * Handle the case of a raw class */ - T caseClass(ClassTypeDetails classType, SourceModelBuildingContext buildingContext); + T caseClass(ClassTypeDetails classType, ModelsContext modelsContext); /** * Handle the case of a primitive */ - T casePrimitive(PrimitiveTypeDetails primitiveType, SourceModelBuildingContext buildingContext); + T casePrimitive(PrimitiveTypeDetails primitiveType, ModelsContext modelsContext); /** * Handle the case of void (or Void) */ - T caseVoid(VoidTypeDetails voidType, SourceModelBuildingContext buildingContext); + T caseVoid(VoidTypeDetails voidType, ModelsContext modelsContext); /** * Handle the case of a parameterized type */ - T caseParameterizedType(ParameterizedTypeDetails parameterizedType, SourceModelBuildingContext buildingContext); + T caseParameterizedType(ParameterizedTypeDetails parameterizedType, ModelsContext modelsContext); /** * Handle the case of a wildcard type */ - T caseWildcardType(WildcardTypeDetails wildcardType, SourceModelBuildingContext buildingContext); + T caseWildcardType(WildcardTypeDetails wildcardType, ModelsContext modelsContext); /** * Handle the case of a type variable */ - T caseTypeVariable(TypeVariableDetails typeVariable, SourceModelBuildingContext buildingContext); + T caseTypeVariable(TypeVariableDetails typeVariable, ModelsContext modelsContext); /** * Handle the case of a reference to a type variable */ - T caseTypeVariableReference(TypeVariableReferenceDetails typeVariableReference, SourceModelBuildingContext buildingContext); + T caseTypeVariableReference(TypeVariableReferenceDetails typeVariableReference, ModelsContext modelsContext); /** * Handle the case of an array */ - T caseArrayType(ArrayTypeDetails arrayType, SourceModelBuildingContext buildingContext); + T caseArrayType(ArrayTypeDetails arrayType, ModelsContext modelsContext); /** * Handle any other cases */ - T defaultCase(TypeDetails type, SourceModelBuildingContext buildingContext); + T defaultCase(TypeDetails type, ModelsContext modelsContext); } diff --git a/hibernate-models/src/main/java/org/hibernate/models/spi/ValueTypeDescriptor.java b/hibernate-models/src/main/java/org/hibernate/models/spi/ValueTypeDescriptor.java index 86f2f98..7615a7b 100644 --- a/hibernate-models/src/main/java/org/hibernate/models/spi/ValueTypeDescriptor.java +++ b/hibernate-models/src/main/java/org/hibernate/models/spi/ValueTypeDescriptor.java @@ -26,20 +26,20 @@ public interface ValueTypeDescriptor { */ AttributeDescriptor createAttributeDescriptor(Class annotationType, String attributeName); - JdkValueConverter createJdkValueConverter(SourceModelBuildingContext modelContext); + JdkValueConverter createJdkValueConverter(ModelsContext modelContext); - JdkValueExtractor createJdkValueExtractor(SourceModelBuildingContext modelContext); + JdkValueExtractor createJdkValueExtractor(ModelsContext modelContext); Object unwrap(V value); - V[] makeArray(int size, SourceModelBuildingContext modelContext); + V[] makeArray(int size, ModelsContext modelContext); default void render( String name, Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext) { + ModelsContext modelContext) { target.addLine( "%s = %s", name, "..." ); } @@ -47,5 +47,5 @@ void render( Object attributeValue, RenderingTarget target, Renderer renderer, - SourceModelContext modelContext); + ModelsContext modelContext); } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java b/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java index 8ac1615..80312fb 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java @@ -7,11 +7,11 @@ import java.util.Iterator; import java.util.ServiceLoader; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.internal.BasicModelsContextImpl; import org.hibernate.models.internal.util.CollectionHelper; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.testing.intg.ModelContextFactory; +import org.hibernate.models.testing.intg.ModelsContextFactory; import org.hibernate.models.testing.orm.OrmAnnotationHelper; import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; @@ -20,18 +20,18 @@ * @author Steve Ebersole */ public class TestHelper { - public static SourceModelBuildingContext createModelContext(Class... modelClasses) { + public static ModelsContext createModelContext(Class... modelClasses) { return createModelContext( null, modelClasses ); } - public static SourceModelBuildingContext buildModelContext(Class... modelClasses) { + public static ModelsContext buildModelContext(Class... modelClasses) { return createModelContext( null, modelClasses ); } - public static SourceModelBuildingContext createModelContext( + public static ModelsContext createModelContext( RegistryPrimer additionalPrimer, Class... modelClasses) { - final SourceModelBuildingContext builtContext = buildModelContext( additionalPrimer, modelClasses ); + final ModelsContext builtContext = buildModelContext( additionalPrimer, modelClasses ); if ( CollectionHelper.isNotEmpty( modelClasses ) ) { for ( Class modelClass : modelClasses ) { @@ -42,34 +42,34 @@ public static SourceModelBuildingContext createModelContext( return builtContext; } - private static SourceModelBuildingContext buildModelContext( + private static ModelsContext buildModelContext( RegistryPrimer additionalPrimer, Class... modelClasses) { - final ServiceLoader loader = ServiceLoader.load( ModelContextFactory.class ); - final Iterator serviceImpls = loader.iterator(); + final ServiceLoader loader = ServiceLoader.load( ModelsContextFactory.class ); + final Iterator serviceImpls = loader.iterator(); if ( serviceImpls.hasNext() ) { - final ModelContextFactory contextFactory = serviceImpls.next(); + final ModelsContextFactory contextFactory = serviceImpls.next(); if ( serviceImpls.hasNext() ) { throw new IllegalStateException( "Found more than one TestingModelContextFactory" ); } System.out.println( "Using TestingModelContextFactory: " + contextFactory ); return contextFactory.createModelContext( - (contributions, buildingContext) -> { + (contributions, modelsContext) -> { OrmAnnotationHelper.forEachOrmAnnotation( contributions::registerAnnotation ); if ( additionalPrimer != null ) { - additionalPrimer.primeRegistries( contributions, buildingContext ); + additionalPrimer.primeRegistries( contributions, modelsContext ); } }, modelClasses ); } - return new BasicModelBuildingContextImpl( + return new BasicModelsContextImpl( SIMPLE_CLASS_LOADING, - (contributions, buildingContext) -> { + (contributions, modelsContext) -> { OrmAnnotationHelper.forEachOrmAnnotation( contributions::registerAnnotation ); if ( additionalPrimer != null ) { - additionalPrimer.primeRegistries( contributions, buildingContext ); + additionalPrimer.primeRegistries( contributions, modelsContext ); } } ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java index cfd7148..de3bc8b 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java @@ -8,7 +8,7 @@ import org.hibernate.models.internal.ClassTypeDetailsImpl; import org.hibernate.models.internal.jdk.JdkClassDetails; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.testing.TestHelper; @@ -23,7 +23,7 @@ public class MultiDimensionalArrayTypeTests { @Test void testIntegerArrays() { - final SourceModelBuildingContext buildingContext = TestHelper.createModelContext( + final ModelsContext modelsContext = TestHelper.createModelContext( (contributions, ctx) -> { final ClassDetails intDetails = new JdkClassDetails( Integer.class, ctx ); final ClassDetails intArrayDetails = new JdkClassDetails( Integer[].class, ctx ); @@ -37,16 +37,16 @@ void testIntegerArrays() { } ); - final ClassDetails intDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Integer[][][].class.getName() ); + final ClassDetails intDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Integer[][][].class.getName() ); final ClassTypeDetailsImpl intTypeDetails = new ClassTypeDetailsImpl( intDetails, TypeDetails.Kind.CLASS ); - final ClassDetails intArrayDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Integer[].class.getName() ); + final ClassDetails intArrayDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Integer[].class.getName() ); final ArrayTypeDetailsImpl intArrayTypeDetails = new ArrayTypeDetailsImpl( intArrayDetails, intTypeDetails ); - final ClassDetails intIntArrayDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Integer[][].class.getName() ); + final ClassDetails intIntArrayDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Integer[][].class.getName() ); final ArrayTypeDetailsImpl intIntArrayTypeDetails = new ArrayTypeDetailsImpl( intIntArrayDetails, intArrayTypeDetails ); - final ClassDetails intIntIntArrayDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Integer[][][].class.getName() ); + final ClassDetails intIntIntArrayDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Integer[][][].class.getName() ); final ArrayTypeDetailsImpl intIntIntArrayTypeDetails = new ArrayTypeDetailsImpl( intIntIntArrayDetails, intIntArrayTypeDetails ); assertThat( intIntIntArrayTypeDetails.getName() ).isEqualTo( "[[[Ljava.lang.Integer;" ); @@ -54,7 +54,7 @@ void testIntegerArrays() { @Test void testIntArrays() { - final SourceModelBuildingContext buildingContext = TestHelper.createModelContext( + final ModelsContext modelsContext = TestHelper.createModelContext( (contributions, ctx) -> { final ClassDetails intDetails = new JdkClassDetails( int.class, ctx ); final ClassDetails intArrayDetails = new JdkClassDetails( int[].class, ctx ); @@ -68,16 +68,16 @@ void testIntArrays() { } ); - final ClassDetails intDetails = buildingContext.getClassDetailsRegistry().getClassDetails( int[][][].class.getName() ); + final ClassDetails intDetails = modelsContext.getClassDetailsRegistry().getClassDetails( int[][][].class.getName() ); final ClassTypeDetailsImpl intTypeDetails = new ClassTypeDetailsImpl( intDetails, TypeDetails.Kind.CLASS ); - final ClassDetails intArrayDetails = buildingContext.getClassDetailsRegistry().getClassDetails( int[].class.getName() ); + final ClassDetails intArrayDetails = modelsContext.getClassDetailsRegistry().getClassDetails( int[].class.getName() ); final ArrayTypeDetailsImpl intArrayTypeDetails = new ArrayTypeDetailsImpl( intArrayDetails, intTypeDetails ); - final ClassDetails intIntArrayDetails = buildingContext.getClassDetailsRegistry().getClassDetails( int[][].class.getName() ); + final ClassDetails intIntArrayDetails = modelsContext.getClassDetailsRegistry().getClassDetails( int[][].class.getName() ); final ArrayTypeDetailsImpl intIntArrayTypeDetails = new ArrayTypeDetailsImpl( intIntArrayDetails, intArrayTypeDetails ); - final ClassDetails intIntIntArrayDetails = buildingContext.getClassDetailsRegistry().getClassDetails( int[][][].class.getName() ); + final ClassDetails intIntIntArrayDetails = modelsContext.getClassDetailsRegistry().getClassDetails( int[][][].class.getName() ); final ArrayTypeDetailsImpl intIntIntArrayTypeDetails = new ArrayTypeDetailsImpl( intIntIntArrayDetails, intIntArrayTypeDetails ); assertThat( intIntIntArrayTypeDetails.getName() ).isEqualTo( "[[[I" ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java index 14d635b..374443d 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java @@ -5,7 +5,7 @@ package org.hibernate.models.testing.tests; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.annotations.pkg.PackageAnnotation; import org.junit.jupiter.api.Test; @@ -21,24 +21,24 @@ public class PackageTests { @Test void testExactReference() { - final SourceModelBuildingContext buildingContext = createModelContext(); + final ModelsContext modelsContext = createModelContext(); final String packageInfoName = PACKAGE_NAME + ".package-info"; - final ClassDetails classDetails = buildingContext + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( packageInfoName ); assertThat( classDetails ).isNotNull(); assertThat( classDetails.getClassName() ).endsWith( "package-info" ); - assertThat( classDetails.getAnnotationUsage( PackageAnnotation.class, buildingContext ) ).isNotNull(); + assertThat( classDetails.getAnnotationUsage( PackageAnnotation.class, modelsContext ) ).isNotNull(); } @Test void testPackageReference() { - final SourceModelBuildingContext buildingContext = createModelContext(); - final ClassDetails classDetails = buildingContext + final ModelsContext modelsContext = createModelContext(); + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .resolveClassDetails( PACKAGE_NAME ); assertThat( classDetails ).isNotNull(); assertThat( classDetails.getClassName() ).endsWith( "package-info" ); - assertThat( classDetails.getAnnotationUsage( PackageAnnotation.class, buildingContext ) ).isNotNull(); + assertThat( classDetails.getAnnotationUsage( PackageAnnotation.class, modelsContext ) ).isNotNull(); } } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java index bba007f..a648e8f 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java @@ -8,7 +8,7 @@ import org.hibernate.models.rendering.internal.RenderingTargetStreamImpl; import org.hibernate.models.rendering.internal.SimpleRenderer; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.annotations.EverythingBagel; import org.hibernate.models.testing.annotations.Nested; import org.hibernate.models.testing.annotations.Status; @@ -24,56 +24,56 @@ public class RenderingSmokeTest { @Test void testStreamRendering1() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleEntity.class.getName() ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().resolveClassDetails( SimpleEntity.class.getName() ); // simple stdout renderer with default (2) indentation final SimpleRenderer renderer = new SimpleRenderer( new RenderingTargetStreamImpl( System.out ) ); - renderer.renderClass( classDetails, buildingContext ); + renderer.renderClass( classDetails, modelsContext ); } @Test void testStreamRendering2() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleEntity.class.getName() ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().resolveClassDetails( SimpleEntity.class.getName() ); // simple stdout renderer with specified indentation final SimpleRenderer renderer = new SimpleRenderer( new RenderingTargetStreamImpl( System.out, 4 ) ); - renderer.renderClass( classDetails, buildingContext ); + renderer.renderClass( classDetails, modelsContext ); } @Test void testCollectingRendering1() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); final RenderingTargetCollectingImpl collectingTarget = new RenderingTargetCollectingImpl(); final SimpleRenderer renderer = new SimpleRenderer( collectingTarget ); - renderer.renderClass( classDetails, buildingContext ); + renderer.renderClass( classDetails, modelsContext ); - System.out.println( collectingTarget.toString() ); + System.out.println( collectingTarget ); } @Test void testCollectingRendering2() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); final RenderingTargetCollectingImpl collectingTarget = new RenderingTargetCollectingImpl(); final SimpleRenderer renderer = new SimpleRenderer( collectingTarget ); - renderer.renderClass( classDetails, buildingContext ); + renderer.renderClass( classDetails, modelsContext ); collectingTarget.render( System.out ); } @Test void testCollectingRendering3() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); final RenderingTargetCollectingImpl collectingTarget = new RenderingTargetCollectingImpl( 4 ); final SimpleRenderer renderer = new SimpleRenderer( collectingTarget ); - renderer.renderClass( classDetails, buildingContext ); + renderer.renderClass( classDetails, modelsContext ); collectingTarget.render( System.out ); } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleClassLoadingMigrationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleClassLoadingMigrationTests.java index b6ee9af..06a5755 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleClassLoadingMigrationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleClassLoadingMigrationTests.java @@ -13,15 +13,11 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassLoading; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.TestHelper; import org.junit.jupiter.api.Test; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; - import static org.assertj.core.api.Assertions.assertThat; import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; @@ -29,13 +25,13 @@ * @author Steve Ebersole */ public class SimpleClassLoadingMigrationTests { - protected SourceModelBuildingContext createModelContext(Class... classes) { + protected ModelsContext createModelContext(Class... classes) { return TestHelper.createModelContext( classes ); } @Test void testSimpleMigration() { - final SourceModelBuildingContext modelContext = createModelContext( SimpleSerializationTests.SimpleClassWithAnnotations.class ); + final ModelsContext modelContext = createModelContext( SimpleSerializationTests.SimpleClassWithAnnotations.class ); final ClassDetails classDetails = modelContext.getClassDetailsRegistry().findClassDetails( SimpleSerializationTests.SimpleClassWithAnnotations.class.getName() ); assertThat( classDetails ).isNotNull(); @@ -47,7 +43,7 @@ void testSimpleMigration() { @Test void testSimpleMembersMigration() { - final SourceModelBuildingContext modelContext = createModelContext( SimpleSerializationTests.SimpleClassWithMembers.class ); + final ModelsContext modelContext = createModelContext( SimpleSerializationTests.SimpleClassWithMembers.class ); final ClassDetails classDetails = modelContext.getClassDetailsRegistry().findClassDetails( SimpleSerializationTests.SimpleClassWithMembers.class.getName() ); assertThat( classDetails ).isNotNull(); @@ -61,30 +57,6 @@ void testSimpleMembersMigration() { assertThat( anIntField.getDeclaringClass() ).isSameAs( javaClass ); } - @Entity(name="Thing") - @Table(name="Thing") - public static class Thing { - @Id - private Integer id; - private String name; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - } - private static class CollectingClassLoading implements ClassLoading { private final Map> classesByName = new HashMap<>(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java index 4ddf45f..ae629b8 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java @@ -11,8 +11,7 @@ import org.hibernate.models.serial.spi.StorableContext; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.util.SerializationHelper; import org.junit.jupiter.api.Test; @@ -25,17 +24,17 @@ public class SimpleSerializationTests { @Test void serializeSimpleClass() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); Assertions.assertThat( classDetails ).isNotNull(); - final StorableContext serialContext = buildingContext.toStorableForm(); + final StorableContext serialContext = modelsContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); Assertions.assertThat( serialContext ).isNotSameAs( clonedSerialContext ); - final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - Assertions.assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - Assertions.assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + final ModelsContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); + Assertions.assertThat( modelsContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + Assertions.assertThat( modelsContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails restoredClassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); Assertions.assertThat( restoredClassDetails ).isNotNull(); @@ -44,21 +43,21 @@ void serializeSimpleClass() { @Test void serializeSimpleClassWithMembers() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClassWithMembers.class ); + final ModelsContext modelsContext = createModelContext( SimpleClassWithMembers.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); Assertions.assertThat( classDetails ).isNotNull(); Assertions.assertThat( classDetails.getFields() ).hasSize( 1 ); Assertions.assertThat( classDetails.getMethods() ).hasSize( 3 ); - final StorableContext serialContext = buildingContext.toStorableForm(); + final StorableContext serialContext = modelsContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); Assertions.assertThat( serialContext ).isNotSameAs( clonedSerialContext ); - final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - Assertions.assertThat( buildingContext ).isNotSameAs( restored ); - Assertions.assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - Assertions.assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + final ModelsContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); + Assertions.assertThat( modelsContext ).isNotSameAs( restored ); + Assertions.assertThat( modelsContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + Assertions.assertThat( modelsContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); Assertions.assertThat( cloneCassDetails ).isNotNull(); @@ -70,9 +69,9 @@ void serializeSimpleClassWithMembers() { @Test void serializeSimpleClassWithAnnotations() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClassWithAnnotations.class ); + final ModelsContext modelsContext = createModelContext( SimpleClassWithAnnotations.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); Assertions.assertThat( classDetails ).isNotNull(); Assertions.assertThat( classDetails.getDirectAnnotationUsages() ).hasSize( 1 ); Assertions.assertThat( classDetails.getFields() ).hasSize( 1 ); @@ -80,14 +79,14 @@ void serializeSimpleClassWithAnnotations() { Assertions.assertThat( classDetails.getMethods() ).hasSize( 1 ); Assertions.assertThat( classDetails.getMethods().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); - final StorableContext serialContext = buildingContext.toStorableForm(); + final StorableContext serialContext = modelsContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); Assertions.assertThat( serialContext ).isNotSameAs( clonedSerialContext ); - final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - Assertions.assertThat( buildingContext ).isNotSameAs( restored ); - Assertions.assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - Assertions.assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + final ModelsContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); + Assertions.assertThat( modelsContext ).isNotSameAs( restored ); + Assertions.assertThat( modelsContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + Assertions.assertThat( modelsContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); Assertions.assertThat( classDetails ).isNotSameAs( cloneCassDetails ); @@ -101,6 +100,7 @@ void serializeSimpleClassWithAnnotations() { public static class SimpleClass { } + @SuppressWarnings("unused") public static class SimpleClassWithMembers { public int anInt; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java index a842995..cc74cc1 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java @@ -13,7 +13,7 @@ import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -26,9 +26,9 @@ public class AnnotationCycleTests { @Test public void testAnnotationCycle() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); - final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); + final AnnotationDescriptorRegistry descriptorRegistry = modelsContext.getAnnotationDescriptorRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleClass.class.getName() ); assertThat( classDetails.hasDirectAnnotationUsage( A.class ) ).isTrue(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java index cbe2ddc..2bf34cc 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java @@ -4,8 +4,8 @@ */ package org.hibernate.models.testing.tests.annotations; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.MutableClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.testing.domain.SimpleEntity; import org.hibernate.models.testing.orm.JpaAnnotations; import org.hibernate.models.testing.orm.SecondaryTableAnnotation; @@ -25,16 +25,16 @@ public class AnnotationReplacementTests { @Test void testBasicReplacement() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); - final MutableClassDetails classDetails = (MutableClassDetails) buildingContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); + final MutableClassDetails classDetails = (MutableClassDetails) modelsContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); assertThat( classDetails.hasDirectAnnotationUsage( SecondaryTable.class ) ).isTrue(); assertThat( classDetails.hasDirectAnnotationUsage( SecondaryTables.class ) ).isFalse(); final SecondaryTablesAnnotation replacement = (SecondaryTablesAnnotation) classDetails.replaceAnnotationUsage( JpaAnnotations.SECONDARY_TABLE, JpaAnnotations.SECONDARY_TABLES, - buildingContext + modelsContext ); assertThat( classDetails.hasDirectAnnotationUsage( SecondaryTable.class ) ).isFalse(); @@ -46,18 +46,18 @@ void testBasicReplacement() { replacement.value( newValues ); assertThat( replacement.value() ).hasSize( 1 ); - final SecondaryTableAnnotation fromXml = (SecondaryTableAnnotation) JpaAnnotations.SECONDARY_TABLE.createUsage( buildingContext ); + final SecondaryTableAnnotation fromXml = (SecondaryTableAnnotation) JpaAnnotations.SECONDARY_TABLE.createUsage( modelsContext ); newValues[0] = fromXml; fromXml.name( "from_xml" ); - final SecondaryTable annotationUsage = classDetails.getAnnotationUsage( SecondaryTable.class, buildingContext ); + final SecondaryTable annotationUsage = classDetails.getAnnotationUsage( SecondaryTable.class, modelsContext ); assertThat( annotationUsage.name() ).isEqualTo( "from_xml" ); - final SecondaryTables annotationUsage1 = classDetails.getAnnotationUsage( SecondaryTables.class, buildingContext ); + final SecondaryTables annotationUsage1 = classDetails.getAnnotationUsage( SecondaryTables.class, modelsContext ); assertThat( annotationUsage1.value() ).isSameAs( newValues ); // see #76 - classDetails.locateAnnotationUsage( SecondaryTable.class, buildingContext ); + classDetails.locateAnnotationUsage( SecondaryTable.class, modelsContext ); } } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java index 9b185b5..027e65b 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java @@ -11,7 +11,7 @@ import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.annotations.CustomAnnotation; import org.hibernate.models.testing.annotations.CustomMetaAnnotation; import org.hibernate.models.testing.domain.SimpleEntity; @@ -46,19 +46,19 @@ public class AnnotationUsageTests { @Test void testBasicUsage() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final AnnotationDescriptorRegistry descriptorRegistry = modelsContext.getAnnotationDescriptorRegistry(); final AnnotationDescriptor descriptor = descriptorRegistry.getDescriptor( CustomAnnotation.class ); final AnnotationDescriptor metaDescriptor = descriptorRegistry.getDescriptor( CustomMetaAnnotation.class ); assertThat( descriptor ).isNotNull(); assertThat( metaDescriptor ).isNotNull(); - final CustomMetaAnnotation metaUsage = descriptor.getAnnotationUsage( metaDescriptor, buildingContext ); + final CustomMetaAnnotation metaUsage = descriptor.getAnnotationUsage( metaDescriptor, modelsContext ); assertThat( metaUsage ).isNotNull(); assertThat( Proxy.isProxyClass( metaUsage.getClass() ) ).isTrue(); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); // NOTE : the 2 @NamedQuery refs get bundled into 1 @NamedQueries assertThat( classDetails.getDirectAnnotationUsages() ).hasSize( 7 ); @@ -76,7 +76,7 @@ void testBasicUsage() { assertThat( secondaryTableUsage ).isInstanceOf( SecondaryTableAnnotation .class ); assertThat( classDetails.getDirectAnnotationUsage( NamedQuery.class ) ).isNull(); - final NamedQuery[] namedQueryUsages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); + final NamedQuery[] namedQueryUsages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, modelsContext ); assertThat( namedQueryUsages ).hasSize( 2 ); assertThat( namedQueryUsages[0] ).isInstanceOf( NamedQueryAnnotation .class ); assertThat( namedQueryUsages[1] ).isInstanceOf( NamedQueryAnnotation.class ); @@ -84,34 +84,34 @@ void testBasicUsage() { @Test void testUsageMutation() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); - final EntityAnnotation entityAnn = (EntityAnnotation) classDetails.getAnnotationUsage( Entity.class, buildingContext ); + final EntityAnnotation entityAnn = (EntityAnnotation) classDetails.getAnnotationUsage( Entity.class, modelsContext ); entityAnn.name( "SimpleEntity" ); assertThat( entityAnn.name() ).isEqualTo( "SimpleEntity" ); } @Test void testBaseline() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final AnnotationDescriptorRegistry descriptorRegistry = modelsContext.getAnnotationDescriptorRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); - final CustomAnnotation annotationUsage = classDetails.getAnnotationUsage( CustomAnnotation.class, buildingContext ); + final CustomAnnotation annotationUsage = classDetails.getAnnotationUsage( CustomAnnotation.class, modelsContext ); assertThat( annotationUsage ).isNotNull(); final AnnotationDescriptor descriptor = descriptorRegistry.getDescriptor( CustomAnnotation.class ); assertThat( descriptor ).isNotNull(); - final CustomMetaAnnotation customMetaAnnotationUsage = descriptor.getAnnotationUsage( CustomMetaAnnotation.class, buildingContext ); + final CustomMetaAnnotation customMetaAnnotationUsage = descriptor.getAnnotationUsage( CustomMetaAnnotation.class, modelsContext ); assertThat( customMetaAnnotationUsage ).isNotNull(); assertThat( customMetaAnnotationUsage.someValue() ).isEqualTo( "abc" ); assertThat( classDetails.hasDirectAnnotationUsage( Entity.class ) ).isTrue(); - final Entity entityAnn = classDetails.getAnnotationUsage( Entity.class, buildingContext ); + final Entity entityAnn = classDetails.getAnnotationUsage( Entity.class, modelsContext ); assertThat( entityAnn.name() ).isEqualTo( "SimpleColumnEntity" ); - final Column columnAnn = classDetails.findFieldByName( "name" ).getAnnotationUsage( Column.class, buildingContext ); + final Column columnAnn = classDetails.findFieldByName( "name" ).getAnnotationUsage( Column.class, modelsContext ); assertThat( columnAnn.name() ).isEqualTo( "description" ); assertThat( columnAnn.table() ).isEqualTo( "" ); assertThat( columnAnn.nullable() ).isFalse(); @@ -120,23 +120,23 @@ void testBaseline() { @Test void testCompositions() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); assertThat( classDetails.hasDirectAnnotationUsage( CustomMetaAnnotation.class ) ).isFalse(); - assertThat( classDetails.getAnnotationUsage( CustomMetaAnnotation.class, buildingContext ) ).isNull(); - assertThat( classDetails.locateAnnotationUsage( CustomMetaAnnotation.class, buildingContext ) ).isNotNull(); + assertThat( classDetails.getAnnotationUsage( CustomMetaAnnotation.class, modelsContext ) ).isNull(); + assertThat( classDetails.locateAnnotationUsage( CustomMetaAnnotation.class, modelsContext ) ).isNotNull(); - assertThat( classDetails.getMetaAnnotated( CustomMetaAnnotation.class, buildingContext ) ).hasSize( 1 ); - assertThat( classDetails.getMetaAnnotated( CustomAnnotation.class, buildingContext ) ).isEmpty(); + assertThat( classDetails.getMetaAnnotated( CustomMetaAnnotation.class, modelsContext ) ).hasSize( 1 ); + assertThat( classDetails.getMetaAnnotated( CustomAnnotation.class, modelsContext ) ).isEmpty(); } @Test void testDynamicAttributeCreation() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final Column usage = JpaAnnotations.COLUMN.createUsage( buildingContext ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final Column usage = JpaAnnotations.COLUMN.createUsage( modelsContext ); // check the attribute defaults assertThat( usage.name() ).isEqualTo( "" ); assertThat( usage.table() ).isEqualTo( "" ); @@ -155,23 +155,23 @@ void testDynamicAttributeCreation() { @Test void testNamedAnnotationAccess() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClassDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); - final NamedQuery[] namedQueryAnns = entityClassDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); + final NamedQuery[] namedQueryAnns = entityClassDetails.getRepeatedAnnotationUsages( NamedQuery.class, modelsContext ); assertThat( namedQueryAnns ).hasSize( 2 ); - final NamedQuery abcAnn = entityClassDetails.getNamedAnnotationUsage( NamedQuery.class, "abc", buildingContext ); + final NamedQuery abcAnn = entityClassDetails.getNamedAnnotationUsage( NamedQuery.class, "abc", modelsContext ); assertThat( abcAnn ).isNotNull(); assertThat( abcAnn.query() ).isEqualTo( "select me" ); } @Test void testFromAnnotations() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -184,7 +184,7 @@ void testFromAnnotations() { } return null; }, - buildingContext + modelsContext ); assertThat( query ).isEqualTo( "select me" ); @@ -197,7 +197,7 @@ void testFromAnnotations() { } return null; }, - buildingContext + modelsContext ); assertThat( query2 ).isEqualTo( "select you" ); @@ -210,15 +210,15 @@ void testFromAnnotations() { } return null; }, - buildingContext + modelsContext ); assertThat( secondaryTable ).isNotNull(); } @Test void testHasAnnotation() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -229,41 +229,41 @@ void testHasAnnotation() { assertThat( classDetails.hasDirectAnnotationUsage( SecondaryTables.class ) ).isFalse(); // with #hasRepeatableAnnotationUsage we get true regardless - assertThat( classDetails.hasAnnotationUsage( NamedQuery.class, buildingContext ) ).isTrue(); - assertThat( classDetails.hasAnnotationUsage( NamedQueries.class, buildingContext ) ).isTrue(); - assertThat( classDetails.hasAnnotationUsage( SecondaryTable.class, buildingContext ) ).isTrue(); - assertThat( classDetails.hasAnnotationUsage( SecondaryTables.class, buildingContext ) ).isFalse(); + assertThat( classDetails.hasAnnotationUsage( NamedQuery.class, modelsContext ) ).isTrue(); + assertThat( classDetails.hasAnnotationUsage( NamedQueries.class, modelsContext ) ).isTrue(); + assertThat( classDetails.hasAnnotationUsage( SecondaryTable.class, modelsContext ) ).isTrue(); + assertThat( classDetails.hasAnnotationUsage( SecondaryTables.class, modelsContext ) ).isFalse(); } @Test void testForEachAnnotation() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); final MutableInteger counter = new MutableInteger(); - classDetails.forEachAnnotationUsage( Entity.class, buildingContext, entityAnnotationUsage -> counter.increment() ); + classDetails.forEachAnnotationUsage( Entity.class, modelsContext, entityAnnotationUsage -> counter.increment() ); assertThat( counter.get() ).isEqualTo( 1 ); counter.set( 0 ); - classDetails.forEachAnnotationUsage( SecondaryTable.class, buildingContext, entityAnnotationUsage -> counter.increment() ); + classDetails.forEachAnnotationUsage( SecondaryTable.class, modelsContext, entityAnnotationUsage -> counter.increment() ); assertThat( counter.get() ).isEqualTo( 1 ); counter.set( 0 ); - classDetails.forEachAnnotationUsage( NamedQuery.class, buildingContext, entityAnnotationUsage -> counter.increment() ); + classDetails.forEachAnnotationUsage( NamedQuery.class, modelsContext, entityAnnotationUsage -> counter.increment() ); assertThat( counter.get() ).isEqualTo( 2 ); } @Test void testGetSingleUsageW() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); try { - classDetails.getAnnotationUsage( NamedQuery.class, buildingContext ); + classDetails.getAnnotationUsage( NamedQuery.class, modelsContext ); fail( "Expecting an AnnotationAccessException to be thrown" ); } catch (AnnotationAccessException expected) { diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java index f180d38..7bd6608 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java @@ -5,7 +5,7 @@ package org.hibernate.models.testing.tests.annotations; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.annotations.EverythingBagel; import org.hibernate.models.testing.annotations.Nested; import org.hibernate.models.testing.annotations.Status; @@ -21,9 +21,9 @@ public class AttributeAccessTests { @Test void testAttributeAccess() { - final SourceModelBuildingContext buildingContext = createModelContext( TheClass.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( TheClass.class.getName() ); - final EverythingBagel annotationUsage = classDetails.getAnnotationUsage( EverythingBagel.class, buildingContext ); + final ModelsContext modelsContext = createModelContext( TheClass.class ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( TheClass.class.getName() ); + final EverythingBagel annotationUsage = classDetails.getAnnotationUsage( EverythingBagel.class, modelsContext ); assertThat( annotationUsage.theString() ).isEqualTo( "hello" ); assertThat( annotationUsage.theEnum() ).isEqualTo( Status.ACTIVE ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java index 9fd7c8d..2d6bbc7 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java @@ -9,7 +9,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.junit.jupiter.api.Test; @@ -29,12 +29,12 @@ public class MapKeyTest { @Test void testFieldsAreResolved() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( School.class, Person.class ); - final ClassDetails schoolClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( School.class.getName() ); + final ClassDetails schoolClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( School.class.getName() ); final FieldDetails idField = schoolClassDetails.findFieldByName( "id" ); final TypeDetails idFieldType = idField.getType(); @@ -49,6 +49,7 @@ void testFieldsAreResolved() { assertThat( typeDetails2.isResolved() ).isFalse(); } + @SuppressWarnings({ "unused", "deprecation" }) @Entity public static class School { @Id diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java index 406eebc..22f6806 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java @@ -7,7 +7,7 @@ import java.lang.reflect.Proxy; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -31,9 +31,9 @@ public class NestedAnnotationTests { @Test void testNestedAnnotationsNotProxy() { - final SourceModelBuildingContext buildingContext = createModelContext( Person.class ); + final ModelsContext modelsContext = createModelContext( Person.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Person.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Person.class.getName() ); final SecondaryTable secondaryTable = classDetails.getDirectAnnotationUsage( SecondaryTable.class ); assertThat( secondaryTable.name() ).isEqualTo( SECOND_TABLE ); @@ -48,6 +48,7 @@ void testNestedAnnotationsNotProxy() { assertThat( secondaryTable.pkJoinColumns()[0].foreignKey().options() ).isEqualTo( "things" ); } + @SuppressWarnings("unused") @Entity(name="Person") @Table(name="Person") @SecondaryTable( name = SECOND_TABLE, diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java index 83c78a2..73fc0a1 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java @@ -8,7 +8,7 @@ import org.hibernate.models.AnnotationAccessException; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -42,7 +42,7 @@ void testBaseline() { @Test void testRepeatableUsage() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( Thing1.class, Thing2.class, Thing3.class, @@ -50,78 +50,78 @@ void testRepeatableUsage() { Thing5.class ); - verifyThing1( buildingContext ); - verifyThing2( buildingContext ); - verifyThing3( buildingContext ); - verifyThing4( buildingContext ); - verifyThing5( buildingContext ); + verifyThing1( modelsContext ); + verifyThing2( modelsContext ); + verifyThing3( modelsContext ); + verifyThing4( modelsContext ); + verifyThing5( modelsContext ); } - private void verifyThing1(SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Thing1.class.getName() ); + private void verifyThing1(ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Thing1.class.getName() ); try { - classDetails.getAnnotationUsage( NamedQuery.class, buildingContext ); + classDetails.getAnnotationUsage( NamedQuery.class, modelsContext ); fail( "Expecting failure" ); } catch (AnnotationAccessException expected) { } - final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); + final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, modelsContext ); assertThat( usages ).hasSize( 2 ); - final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, buildingContext ); + final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, modelsContext ); assertThat( containerUsage ).isNotNull(); } - private void verifyThing2(SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Thing2.class.getName() ); + private void verifyThing2(ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Thing2.class.getName() ); try { - classDetails.getAnnotationUsage( NamedQuery.class, buildingContext ); + classDetails.getAnnotationUsage( NamedQuery.class, modelsContext ); fail( "Expecting failure" ); } catch (AnnotationAccessException expected) { } - final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); + final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, modelsContext ); assertThat( usages ).hasSize( 2 ); - final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, buildingContext ); + final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, modelsContext ); assertThat( containerUsage ).isNotNull(); } - private void verifyThing3(SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Thing3.class.getName() ); + private void verifyThing3(ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Thing3.class.getName() ); - assertThat( classDetails.getAnnotationUsage( NamedQuery.class, buildingContext ) ).isNull(); - assertThat( classDetails.getAnnotationUsage( NamedQueries.class, buildingContext ) ).isNull(); + assertThat( classDetails.getAnnotationUsage( NamedQuery.class, modelsContext ) ).isNull(); + assertThat( classDetails.getAnnotationUsage( NamedQueries.class, modelsContext ) ).isNull(); } - private void verifyThing4(SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Thing4.class.getName() ); + private void verifyThing4(ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Thing4.class.getName() ); // NOTE : this works like the JDK call, though we may want to make this more sane - final NamedQuery usage = classDetails.getAnnotationUsage( NamedQuery.class, buildingContext ); + final NamedQuery usage = classDetails.getAnnotationUsage( NamedQuery.class, modelsContext ); assertThat( usage ).isNotNull(); - final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); + final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, modelsContext ); assertThat( usages ).hasSize( 3 ); - final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, buildingContext ); + final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, modelsContext ); assertThat( containerUsage ).isNotNull(); } - private void verifyThing5(SourceModelBuildingContext buildingContext) { - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Thing5.class.getName() ); + private void verifyThing5(ModelsContext modelsContext) { + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Thing5.class.getName() ); - final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, buildingContext ); + final NamedQueries containerUsage = classDetails.getAnnotationUsage( NamedQueries.class, modelsContext ); assertThat( containerUsage ).isNotNull(); - final NamedQuery usage = classDetails.getAnnotationUsage( NamedQuery.class, buildingContext ); + final NamedQuery usage = classDetails.getAnnotationUsage( NamedQuery.class, modelsContext ); assertThat( usage ).isNotNull(); - final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); + final NamedQuery[] usages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, modelsContext ); assertThat( usages ).hasSize( 1 ); } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java index 4783dc4..daa2021 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java @@ -8,7 +8,7 @@ import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -23,15 +23,15 @@ public class SelfReferenceTests { @Test void testSelfReferencingAnnotation() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); - final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); + final AnnotationDescriptorRegistry descriptorRegistry = modelsContext.getAnnotationDescriptorRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleClass.class.getName() ); - assertThat( classDetails.hasAnnotationUsage( SelfReferencingAnnotation.class, buildingContext ) ).isTrue(); + assertThat( classDetails.hasAnnotationUsage( SelfReferencingAnnotation.class, modelsContext ) ).isTrue(); final AnnotationDescriptor descriptor = descriptorRegistry.getDescriptor( SelfReferencingAnnotation.class ); - assertThat( descriptor.hasAnnotationUsage( SelfReferencingAnnotation.class, buildingContext ) ).isTrue(); + assertThat( descriptor.hasAnnotationUsage( SelfReferencingAnnotation.class, modelsContext ) ).isTrue(); } @SelfReferencingAnnotation diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java index b7d1ad1..2d25738 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java @@ -11,7 +11,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.domain.SimpleEntity; import org.hibernate.models.testing.orm.JpaAnnotations; @@ -27,11 +27,11 @@ public class TargetSafeCastingTests { @Test public void testSafeCasting() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); checkCasting( JpaAnnotations.ID ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); checkCasting( classDetails ); checkCasting( classDetails.getFields().get( 0 ) ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java index b79082e..f2615d3 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java @@ -7,7 +7,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.tests.annotations.target.sub.SubNoGeneratorEntity; import org.junit.jupiter.api.Test; @@ -24,95 +24,95 @@ public class AnnotationTargetTests { */ @Test void testPackageDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( NoGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); - assertThat( idMember.getContainer( buildingContext ) ).isSameAs( entityClass ); + assertThat( idMember.getContainer( modelsContext ) ).isSameAs( entityClass ); assertThat( idMember.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); - final ClassDetails idMemberContainer = idMember.getContainer( buildingContext ); + final ClassDetails idMemberContainer = idMember.getContainer( modelsContext ); assertThat( idMemberContainer ).isSameAs( entityClass ); assertThat( idMemberContainer.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( idMemberContainer.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( idMemberContainer.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); - final ClassDetails entityClassPackage = entityClass.getContainer( buildingContext ); + final ClassDetails entityClassPackage = entityClass.getContainer( modelsContext ); assertThat( entityClassPackage.getName() ).endsWith( "annotations.target.package-info" ); assertThat( entityClassPackage.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isTrue(); - assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isTrue(); + assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isTrue(); } @Test void testClassDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( ClassGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( ClassGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( ClassGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); - assertThat( idMember.getContainer( buildingContext ) ).isSameAs( entityClass ); + assertThat( idMember.getContainer( modelsContext ) ).isSameAs( entityClass ); assertThat( idMember.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); assertThat( entityClass.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isTrue(); - assertThat( entityClass.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isTrue(); + assertThat( entityClass.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isTrue(); - final ClassDetails entityClassPackage = entityClass.getContainer( buildingContext ); + final ClassDetails entityClassPackage = entityClass.getContainer( modelsContext ); assertThat( entityClassPackage.getName() ).endsWith( "annotations.target.package-info" ); assertThat( entityClassPackage.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isTrue(); - assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isTrue(); + assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isTrue(); } @Test void testMemberDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( MemberGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( MemberGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( MemberGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); - assertThat( idMember.getContainer( buildingContext ) ).isSameAs( entityClass ); + assertThat( idMember.getContainer( modelsContext ) ).isSameAs( entityClass ); assertThat( idMember.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isTrue(); - assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isTrue(); + assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isTrue(); assertThat( entityClass.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( entityClass.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( entityClass.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); - final ClassDetails entityClassPackage = entityClass.getContainer( buildingContext ); + final ClassDetails entityClassPackage = entityClass.getContainer( modelsContext ); assertThat( entityClassPackage.getName() ).endsWith( "annotations.target.package-info" ); assertThat( entityClassPackage.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isTrue(); - assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isTrue(); + assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isTrue(); } @Test void testUpPackageDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( SubNoGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SubNoGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( SubNoGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); - assertThat( idMember.getContainer( buildingContext ) ).isSameAs( entityClass ); + assertThat( idMember.getContainer( modelsContext ) ).isSameAs( entityClass ); assertThat( idMember.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( idMember.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); - final ClassDetails idMemberContainer = idMember.getContainer( buildingContext ); + final ClassDetails idMemberContainer = idMember.getContainer( modelsContext ); assertThat( idMemberContainer ).isSameAs( entityClass ); assertThat( idMemberContainer.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( idMemberContainer.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( idMemberContainer.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); - final ClassDetails entityClassPackage = entityClass.getContainer( buildingContext ); + final ClassDetails entityClassPackage = entityClass.getContainer( modelsContext ); assertThat( entityClassPackage.getName() ).endsWith( "annotations.target.sub.package-info" ); assertThat( entityClassPackage.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isFalse(); - assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isFalse(); + assertThat( entityClassPackage.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isFalse(); - final ClassDetails entityClassPackagePackage = entityClassPackage.getContainer( buildingContext ); + final ClassDetails entityClassPackagePackage = entityClassPackage.getContainer( modelsContext ); assertThat( entityClassPackagePackage.getName() ).endsWith( "annotations.target.package-info" ); assertThat( entityClassPackagePackage.hasDirectAnnotationUsage( GeneratorAnnotation.class ) ).isTrue(); - assertThat( entityClassPackagePackage.hasAnnotationUsage( GeneratorAnnotation.class, buildingContext ) ).isTrue(); + assertThat( entityClassPackagePackage.hasAnnotationUsage( GeneratorAnnotation.class, modelsContext ) ).isTrue(); } } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java index fece52a..60b5899 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java @@ -7,7 +7,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.tests.annotations.target.sub.SubNoGeneratorEntity; import org.junit.jupiter.api.Test; @@ -21,14 +21,14 @@ public class FromContainersTests { @Test void testNoGenerator() { - final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( NoGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); { final GeneratorAnnotation found = entityClass.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( found ).isNotNull(); @@ -38,7 +38,7 @@ void testNoGenerator() { { final GeneratorAnnotation found = entityClass.findFieldByName( "id" ).fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( found ).isNotNull(); @@ -48,15 +48,15 @@ void testNoGenerator() { @Test void testClassDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( ClassGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( ClassGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( ClassGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); final GeneratorAnnotation fromClass = entityClass.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromClass ).isNotNull(); @@ -64,7 +64,7 @@ void testClassDefined() { final GeneratorAnnotation fromMember = idMember.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromMember ).isNotNull(); @@ -73,15 +73,15 @@ void testClassDefined() { @Test void testMemberDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( MemberGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( MemberGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( MemberGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); final GeneratorAnnotation fromClass = entityClass.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromClass ).isNotNull(); @@ -89,7 +89,7 @@ void testMemberDefined() { final GeneratorAnnotation fromMember = idMember.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromMember ).isNotNull(); @@ -98,8 +98,8 @@ void testMemberDefined() { @Test void testUpPackageDefined() { - final SourceModelBuildingContext buildingContext = createModelContext( SubNoGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( SubNoGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( SubNoGeneratorEntity.class.getName() ); final FieldDetails idMember = entityClass.findFieldByName( "id" ); @@ -109,14 +109,14 @@ void testUpPackageDefined() { final GeneratorAnnotation fromClassScoped = entityClass.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromClassScoped ).isNull(); final GeneratorAnnotation fromMemberScoped = idMember.fromSelfAndContainers( false, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromMemberScoped ).isNull(); @@ -126,7 +126,7 @@ void testUpPackageDefined() { final GeneratorAnnotation fromClassUnScoped = entityClass.fromSelfAndContainers( true, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromClassUnScoped ).isNotNull(); @@ -134,7 +134,7 @@ void testUpPackageDefined() { final GeneratorAnnotation fromMemberUnScoped = idMember.fromSelfAndContainers( true, - buildingContext, + modelsContext, (classDetails) -> classDetails.getDirectAnnotationUsage( GeneratorAnnotation.class ) ); assertThat( fromMemberUnScoped ).isNotNull(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java index 02c4388..e078e9a 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java @@ -11,7 +11,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -26,27 +26,27 @@ public class WalkContainerTests { @Test void testNoPackageCrossing() { - final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( NoGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final List collected = new ArrayList<>(); // starting from the class, we should get 2 - the class and the package final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); - entityClass.walkSelfAndContainers( false, buildingContext, collected::add ); + entityClass.walkSelfAndContainers( false, modelsContext, collected::add ); assertThat( collected ).hasSize( 2 ); collected.clear(); // starting from the member, we should get 3 containers - this member, the class and the package final FieldDetails idMember = entityClass.findFieldByName( "id" ); - idMember.walkSelfAndContainers( false, buildingContext, collected::add ); + idMember.walkSelfAndContainers( false, modelsContext, collected::add ); assertThat( collected ).hasSize( 3 ); } @Test void testPackageCrossing() { - final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext( NoGeneratorEntity.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final List collected = new ArrayList<>(); @@ -60,7 +60,7 @@ void testPackageCrossing() { // * org.hibernate // * org final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); - entityClass.walkSelfAndContainers( true, buildingContext, collected::add ); + entityClass.walkSelfAndContainers( true, modelsContext, collected::add ); assertThat( collected ).hasSize( 8 ); collected.clear(); @@ -76,7 +76,7 @@ void testPackageCrossing() { // * org.hibernate // * org final FieldDetails idMember = entityClass.findFieldByName( "id" ); - idMember.walkSelfAndContainers( true, buildingContext, collected::add ); + idMember.walkSelfAndContainers( true, modelsContext, collected::add ); assertThat( collected ).hasSize( 9 ); } } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java index aeff844..6fbe426 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java @@ -9,7 +9,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -24,13 +24,13 @@ public class ClassRegistryTests { @Test void testResolveClassDetails() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails rootClassDetails = classDetailsRegistry.resolveClassDetails( RootClass.class.getName() ); assertThat( rootClassDetails ).isNotNull(); @@ -41,13 +41,13 @@ void testResolveClassDetails() { @Test void testResolveClassDetailsVoid() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails voidClassDetails = classDetailsRegistry.resolveClassDetails( void.class.getName() ); assertThat( voidClassDetails ).isNotNull(); @@ -58,13 +58,13 @@ void testResolveClassDetailsVoid() { @Test void testResolveClassDetailsNull() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); try { classDetailsRegistry.resolveClassDetails( null ); @@ -76,18 +76,16 @@ void testResolveClassDetailsNull() { @Test void testForEachClassDetails() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final Set names = new HashSet<>(); - classDetailsRegistry.forEachClassDetails( (classDetails) -> { - names.add( classDetails.getName() ); - } ); + classDetailsRegistry.forEachClassDetails( (classDetails) -> names.add( classDetails.getName() ) ); assertThat( names ).contains( RootClass.class.getName() ); } } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java index 2317c35..0e5b36a 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java @@ -6,7 +6,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -19,8 +19,8 @@ public class EnumTests { @Test void basicEnumTest() { - final SourceModelBuildingContext buildingContext = buildModelContext( AnEnum.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = buildModelContext( AnEnum.class ); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails enumClassDetails = classDetailsRegistry.getClassDetails( AnEnum.class.getName() ); assertThat( enumClassDetails.isEnum() ).isTrue(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java index 9f4ca28..25e84f5 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java @@ -7,7 +7,7 @@ import org.hibernate.models.spi.ClassBasedTypeDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.junit.jupiter.api.Test; @@ -25,13 +25,13 @@ public class GenericsTests { @Test void testWrappedId() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( Base.class, Thing1.class, Thing2.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails baseClassDetails = classDetailsRegistry.getClassDetails( Base.class.getName() ); @@ -59,13 +59,13 @@ void testWrappedId() { @Test void testId() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( Base2.class, Thing3.class, Thing4.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails baseClassDetails = classDetailsRegistry.getClassDetails( Base2.class.getName() ); assertThat( baseClassDetails.getFields() ).hasSize( 2 ); @@ -84,12 +84,12 @@ void testId() { @Test void testArrays() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( Base3.class, Thing5.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails baseClassDetails = classDetailsRegistry.getClassDetails( Base3.class.getName() ); assertThat( baseClassDetails.getFields() ).hasSize( 2 ); @@ -110,10 +110,12 @@ void testArrays() { assertThat( genericArrayType.determineRawClass().isResolved() ).isTrue(); } - public static class IdWrapper { + @SuppressWarnings("unused") + public static class IdWrapper { T value; } + @SuppressWarnings("unused") @MappedSuperclass public static class Base { @Id @@ -129,6 +131,7 @@ public static class Thing1 extends Base { public static class Thing2 extends Base { } + @SuppressWarnings("unused") @MappedSuperclass public static class Base2 { @Id @@ -144,6 +147,7 @@ public static class Thing3 extends Base2 { public static class Thing4 extends Base2 { } + @SuppressWarnings("unused") public static class Base3 { private String[] strings; private I[] generics; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java index 5637f2f..f6d414e 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java @@ -10,7 +10,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -26,30 +26,30 @@ public class InheritanceTests { @Test void basicRootTest() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails rootClassDetails = classDetailsRegistry.getClassDetails( RootClass.class.getName() ); - assertThat( rootClassDetails.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNotNull(); - assertThat( rootClassDetails.getAnnotationUsage( SubclassableMarker.class, buildingContext ) ).isNotNull(); - assertThat( rootClassDetails.getAnnotationUsage( Composable.class, buildingContext ) ).isNull(); - Assertions.assertThat( rootClassDetails.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNull(); + assertThat( rootClassDetails.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNotNull(); + assertThat( rootClassDetails.getAnnotationUsage( SubclassableMarker.class, modelsContext ) ).isNotNull(); + assertThat( rootClassDetails.getAnnotationUsage( Composable.class, modelsContext ) ).isNull(); + Assertions.assertThat( rootClassDetails.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNull(); assertThat( rootClassDetails.getFields() ).hasSize( 2 ); final FieldDetails value1 = rootClassDetails.findFieldByName( "value1" ); assertThat( value1 ).isNotNull(); - assertThat( value1.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNotNull(); - assertThat( value1.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNull(); - assertThat( value1.getAnnotationUsage( Transient.class, buildingContext ) ).isNull(); + assertThat( value1.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNotNull(); + assertThat( value1.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNull(); + assertThat( value1.getAnnotationUsage( Transient.class, modelsContext ) ).isNull(); final FieldDetails value2 = rootClassDetails.findFieldByName( "value2" ); - assertThat( value2.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNull(); - assertThat( value2.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNull(); - assertThat( value2.getAnnotationUsage( Transient.class, buildingContext ) ).isNotNull(); + assertThat( value2.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNull(); + assertThat( value2.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNull(); + assertThat( value2.getAnnotationUsage( Transient.class, modelsContext ) ).isNotNull(); assertThat( rootClassDetails.getSuperClass() ).isNotNull(); assertThat( rootClassDetails.getSuperClass().toJavaClass() ).isEqualTo( Object.class ); @@ -57,31 +57,31 @@ void basicRootTest() { @Test void basicTrunkTest() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails trunkClassDetails = classDetailsRegistry.getClassDetails( TrunkClass.class.getName() ); - assertThat( trunkClassDetails.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNotNull(); + assertThat( trunkClassDetails.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNotNull(); // NOTE : SubclassableMarker is @Inherited, so we should see it here too - assertThat( trunkClassDetails.getAnnotationUsage( SubclassableMarker.class, buildingContext ) ).isNotNull(); - assertThat( trunkClassDetails.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNull(); + assertThat( trunkClassDetails.getAnnotationUsage( SubclassableMarker.class, modelsContext ) ).isNotNull(); + assertThat( trunkClassDetails.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNull(); assertThat( trunkClassDetails.getFields() ).hasSize( 2 ); final FieldDetails value3 = trunkClassDetails.findFieldByName( "value3" ); assertThat( value3 ).isNotNull(); - assertThat( value3.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNotNull(); - assertThat( value3.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNull(); - assertThat( value3.getAnnotationUsage( Transient.class, buildingContext ) ).isNull(); + assertThat( value3.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNotNull(); + assertThat( value3.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNull(); + assertThat( value3.getAnnotationUsage( Transient.class, modelsContext ) ).isNull(); final FieldDetails value4 = trunkClassDetails.findFieldByName( "value4" ); - assertThat( value4.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNull(); - assertThat( value4.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNull(); - assertThat( value4.getAnnotationUsage( Transient.class, buildingContext ) ).isNotNull(); + assertThat( value4.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNull(); + assertThat( value4.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNull(); + assertThat( value4.getAnnotationUsage( Transient.class, modelsContext ) ).isNotNull(); assertThat( trunkClassDetails.getSuperClass() ).isNotNull(); assertThat( trunkClassDetails.getSuperClass().toJavaClass() ).isEqualTo( RootClass.class ); @@ -89,36 +89,36 @@ void basicTrunkTest() { @Test void basicLeafTest() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails leafClassDetails = classDetailsRegistry.getClassDetails( LeafClass.class.getName() ); - assertThat( leafClassDetails.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNotNull(); + assertThat( leafClassDetails.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNotNull(); // NOTE : SubclassableMarker is @Inherited, so we should see it here too - assertThat( leafClassDetails.getAnnotationUsage( SubclassableMarker.class, buildingContext ) ).isNotNull(); - assertThat( leafClassDetails.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNull(); + assertThat( leafClassDetails.getAnnotationUsage( SubclassableMarker.class, modelsContext ) ).isNotNull(); + assertThat( leafClassDetails.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNull(); - assertThat( leafClassDetails.getAnnotationUsage( ClassMarker.class, buildingContext ) ).isNotNull(); + assertThat( leafClassDetails.getAnnotationUsage( ClassMarker.class, modelsContext ) ).isNotNull(); // NOTE : SubclassableMarker is @Inherited, so we should see it even way down here too - assertThat( leafClassDetails.getAnnotationUsage( SubclassableMarker.class, buildingContext ) ).isNotNull(); - assertThat( leafClassDetails.getAnnotationUsage( MemberMarker.class, buildingContext ) ).isNull(); + assertThat( leafClassDetails.getAnnotationUsage( SubclassableMarker.class, modelsContext ) ).isNotNull(); + assertThat( leafClassDetails.getAnnotationUsage( MemberMarker.class, modelsContext ) ).isNull(); } @Test void testIsImplementor() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( Intf.class, RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails rootClassDetails = classDetailsRegistry.getClassDetails( RootClass.class.getName() ); assertThat( rootClassDetails.isImplementor( Intf.class ) ).isFalse(); @@ -139,13 +139,13 @@ void testIsImplementor() { @Test void testForEachDirectSubType() { - final SourceModelBuildingContext buildingContext = buildModelContext( + final ModelsContext modelsContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, LeafClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final List subTypes = new ArrayList<>(); classDetailsRegistry.forEachDirectSubType( RootClass.class.getName(), subTypes::add ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java index 2c0a0d9..41c7a28 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java @@ -7,7 +7,7 @@ import org.hibernate.models.internal.jdk.JdkClassDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -20,7 +20,7 @@ public class PrimitiveTypeTests { @Test void testPrimitives() { - final SourceModelBuildingContext modelContext = createModelContext(); + final ModelsContext modelContext = createModelContext(); final ClassDetailsRegistry classDetailsRegistry = modelContext.getClassDetailsRegistry(); final ClassDetails booleanDetails = classDetailsRegistry.resolveClassDetails( "boolean" ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java index 15709c4..f14eedc 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java @@ -5,7 +5,7 @@ package org.hibernate.models.testing.tests.dynamic; import org.hibernate.models.internal.dynamic.DynamicClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.orm.ForeignKeyAnnotation; import org.hibernate.models.testing.orm.JpaAnnotations; import org.hibernate.models.testing.orm.SecondaryTableAnnotation; @@ -28,8 +28,8 @@ public class DynamicAnnotationTests { @Test void testBasicUsage() { - final SourceModelBuildingContext buildingContext = createModelContext(); - final SequenceGenerator generatorAnn = JpaAnnotations.SEQUENCE_GENERATOR.createUsage( buildingContext ); + final ModelsContext modelsContext = createModelContext(); + final SequenceGenerator generatorAnn = JpaAnnotations.SEQUENCE_GENERATOR.createUsage( modelsContext ); assertThat( generatorAnn.name() ).isEqualTo( "" ); assertThat( generatorAnn.sequenceName() ).isEqualTo( "" ); assertThat( generatorAnn.catalog() ).isEqualTo( "" ); @@ -38,24 +38,24 @@ void testBasicUsage() { assertThat( generatorAnn.allocationSize() ).isEqualTo( 50 ); assertThat( generatorAnn.options() ).isEqualTo("" ); - final SequenceGenerators generatorsAnn = JpaAnnotations.SEQUENCE_GENERATORS.createUsage( buildingContext ); + final SequenceGenerators generatorsAnn = JpaAnnotations.SEQUENCE_GENERATORS.createUsage( modelsContext ); assertThat( generatorsAnn.value() ).isNotNull(); assertThat( generatorsAnn.value() ).isEmpty(); } @Test void testAnnotationWrapping() { - final SourceModelBuildingContext buildingContext = createModelContext(); - final DynamicClassDetails dynamicEntity = new DynamicClassDetails( "DynamicEntity", buildingContext ); + final ModelsContext modelsContext = createModelContext(); + final DynamicClassDetails dynamicEntity = new DynamicClassDetails( "DynamicEntity", modelsContext ); final Table tableUsage = dynamicEntity.applyAnnotationUsage( JpaAnnotations.TABLE, - buildingContext + modelsContext ); assertThat( tableUsage ).isInstanceOf( TableAnnotation.class ); final SecondaryTable secondaryTableUsage = dynamicEntity.applyAnnotationUsage( JpaAnnotations.SECONDARY_TABLE, - buildingContext + modelsContext ); assertThat( secondaryTableUsage ).isInstanceOf( SecondaryTableAnnotation.class ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java index dd7b6dd..6c90867 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java @@ -12,12 +12,15 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; +import org.hibernate.models.testing.TestHelper; import org.hibernate.models.testing.orm.JpaAnnotations; import org.junit.jupiter.api.Test; +import jakarta.persistence.Embeddable; +import jakarta.persistence.Embedded; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -30,8 +33,8 @@ public class SimpleDynamicModelTests { @Test void testSimpleBasics() { - final SourceModelBuildingContext buildingContext = createModelContext(); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails integerClassDetails = classDetailsRegistry.getClassDetails( Integer.class.getName() ); final ClassTypeDetailsImpl integerTypeDetails = new ClassTypeDetailsImpl( integerClassDetails, TypeDetails.Kind.CLASS ); @@ -40,16 +43,16 @@ void testSimpleBasics() { final ClassTypeDetailsImpl stringTypeDetails = new ClassTypeDetailsImpl( stringClassDetails, TypeDetails.Kind.CLASS ); classDetailsRegistry.as( MutableClassDetailsRegistry.class ) - .addClassDetails( "TheEntity", new DynamicClassDetails( "TheEntity", buildingContext ) ); + .addClassDetails( "TheEntity", new DynamicClassDetails( "TheEntity", modelsContext ) ); final DynamicClassDetails entityDetails = (DynamicClassDetails) classDetailsRegistry.resolveClassDetails( "TheEntity" ); final Entity created = entityDetails.applyAnnotationUsage( JpaAnnotations.ENTITY, - buildingContext + modelsContext ); final Entity preExisting = entityDetails.applyAnnotationUsage( JpaAnnotations.ENTITY, - buildingContext + modelsContext ); assertThat( created ).isSameAs( preExisting ); @@ -58,15 +61,15 @@ void testSimpleBasics() { integerTypeDetails, false, false, - buildingContext + modelsContext ); final Id first = idMember.applyAnnotationUsage( JpaAnnotations.ID, - buildingContext + modelsContext ); final Id second = idMember.applyAnnotationUsage( JpaAnnotations.ID, - buildingContext + modelsContext ); assertThat( first ).isSameAs( second ); @@ -75,7 +78,7 @@ void testSimpleBasics() { stringTypeDetails, false, false, - buildingContext + modelsContext ); assertThat( entityDetails.getFields() ).hasSize( 2 ); @@ -88,8 +91,8 @@ void testSimpleBasics() { @Test void testResolveClassDetails() { - final SourceModelBuildingContext buildingContext = createModelContext(); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ModelsContext modelsContext = createModelContext(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails integerClassDetails = classDetailsRegistry.getClassDetails( Integer.class.getName() ); final ClassTypeDetailsImpl integerTypeDetails = new ClassTypeDetailsImpl( integerClassDetails, TypeDetails.Kind.CLASS ); @@ -98,16 +101,16 @@ void testResolveClassDetails() { final ClassTypeDetailsImpl stringTypeDetails = new ClassTypeDetailsImpl( stringClassDetails, TypeDetails.Kind.CLASS ); classDetailsRegistry.as( MutableClassDetailsRegistry.class ) - .resolveClassDetails( "TheEntity", (name) -> new DynamicClassDetails( name, buildingContext ) ); + .resolveClassDetails( "TheEntity", (name) -> new DynamicClassDetails( name, modelsContext ) ); final DynamicClassDetails entityDetails = (DynamicClassDetails) classDetailsRegistry.resolveClassDetails( "TheEntity" ); final Entity created = entityDetails.applyAnnotationUsage( JpaAnnotations.ENTITY, - buildingContext + modelsContext ); final Entity preExisting = entityDetails.applyAnnotationUsage( JpaAnnotations.ENTITY, - buildingContext + modelsContext ); assertThat( created ).isSameAs( preExisting ); @@ -116,15 +119,15 @@ void testResolveClassDetails() { integerTypeDetails, false, false, - buildingContext + modelsContext ); final Id first = idMember.applyAnnotationUsage( JpaAnnotations.ID, - buildingContext + modelsContext ); final Id second = idMember.applyAnnotationUsage( JpaAnnotations.ID, - buildingContext + modelsContext ); assertThat( first ).isSameAs( second ); @@ -133,7 +136,7 @@ void testResolveClassDetails() { stringTypeDetails, false, false, - buildingContext + modelsContext ); assertThat( entityDetails.getFields() ).hasSize( 2 ); @@ -153,94 +156,93 @@ private void checkPersistability(FieldDetails fieldDetails) { assertThat( ModifierUtils.isSynthetic( fieldDetails.getModifiers() ) ).isFalse(); } -// @Test -// void testSimpleEmbedded() { -// final SourceModelBuildingContextImpl buildingContext = SourceModelTestHelper.createBuildingContext( (Index) null ); -// final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); -// -// final ClassDetails integerClassDetails = classDetailsRegistry.getClassDetails( Integer.class.getName() ); -// final ClassTypeDetailsImpl integerTypeDetails = new ClassTypeDetailsImpl( integerClassDetails, TypeDetails.Kind.CLASS ); -// -// final ClassDetails stringClassDetails = classDetailsRegistry.getClassDetails( String.class.getName() ); -// final ClassTypeDetailsImpl stringTypeDetails = new ClassTypeDetailsImpl( stringClassDetails, TypeDetails.Kind.CLASS ); -// -// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// // EMBEDDABLE - TheName -// -// final DynamicClassDetails nameEmbeddableDetails = (DynamicClassDetails) classDetailsRegistry.resolveClassDetails( -// "TheName", -// name -> { -// final DynamicClassDetails classDetails = new DynamicClassDetails( name, buildingContext ); -// final Embeddable embeddableUsage = classDetails.applyAnnotationUsage( JpaAnnotations.EMBEDDABLE, buildingContext ); -// assertThat( embeddableUsage ).isNotNull(); -// return classDetails; -// } -// ); -// -// // NOTE : here we use the form accepting a ClassDetails for the attribute type -// // rather than the TypeDetails form used elsewhere for code coverage -// -// final DynamicFieldDetails firstNameMember = nameEmbeddableDetails.applyAttribute( -// "first", -// stringClassDetails, -// false, -// false, -// buildingContext -// ); -// -// final DynamicFieldDetails lastNameMember = nameEmbeddableDetails.applyAttribute( -// "last", -// stringClassDetails, -// false, -// false, -// buildingContext -// ); -// -// -// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// // ENTITY - TheEntity -// -// final DynamicClassDetails entityDetails = (DynamicClassDetails) classDetailsRegistry.resolveClassDetails( -// "TheEntity", -// name -> { -// final DynamicClassDetails classDetails = new DynamicClassDetails( name, buildingContext ); -// final MutableAnnotationUsage entityUsage = classDetails.applyAnnotationUsage( JpaAnnotations.ENTITY, buildingContext ); -// assertThat( entityUsage ).isNotNull(); -// return classDetails; -// } -// ); -// -// final DynamicFieldDetails idMember = entityDetails.applyAttribute( -// "id", -// integerTypeDetails, -// false, -// false, -// buildingContext -// ); -// final MutableAnnotationUsage idUsage = idMember.applyAnnotationUsage( JpaAnnotations.ID, buildingContext ); -// assertThat( idUsage ).isNotNull(); -// -// final DynamicFieldDetails nameMember = entityDetails.applyAttribute( -// "name", -// new ClassTypeDetailsImpl( nameEmbeddableDetails, TypeDetails.Kind.CLASS ), -// false, -// false, -// buildingContext -// ); -// final MutableAnnotationUsage embeddedUsage = nameMember.applyAnnotationUsage( JpaAnnotations.EMBEDDED, buildingContext ); -// assertThat( embeddedUsage ).isNotNull(); -// -// -// // ASSERTIONS -// -// assertThat( entityDetails.getFields() ).containsExactly( idMember, nameMember ); -// checkPersistability( idMember ); -// assertThat( idMember.hasDirectAnnotationUsage( Id.class ) ).isTrue(); -// checkPersistability( nameMember ); -// assertThat( nameMember.hasDirectAnnotationUsage( Embedded.class ) ).isTrue(); -// -// assertThat( nameEmbeddableDetails.getFields() ).containsExactly( firstNameMember, lastNameMember ); -// checkPersistability( firstNameMember ); -// checkPersistability( lastNameMember ); -// } + @Test + void testSimpleEmbedded() { + final ModelsContext modelsContext = TestHelper.createModelContext(); + final MutableClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry().as( MutableClassDetailsRegistry.class ); + + final ClassDetails integerClassDetails = classDetailsRegistry.getClassDetails( Integer.class.getName() ); + final ClassTypeDetailsImpl integerTypeDetails = new ClassTypeDetailsImpl( integerClassDetails, TypeDetails.Kind.CLASS ); + + final ClassDetails stringClassDetails = classDetailsRegistry.getClassDetails( String.class.getName() ); + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // EMBEDDABLE - TheName + + final DynamicClassDetails nameEmbeddableDetails = (DynamicClassDetails) classDetailsRegistry.resolveClassDetails( + "TheName", + name -> { + final DynamicClassDetails classDetails = new DynamicClassDetails( name, modelsContext ); + final Embeddable embeddableUsage = classDetails.applyAnnotationUsage( JpaAnnotations.EMBEDDABLE, modelsContext ); + assertThat( embeddableUsage ).isNotNull(); + return classDetails; + } + ); + + // NOTE : here we use the form accepting a ClassDetails for the attribute type + // rather than the TypeDetails form used elsewhere for code coverage + + final DynamicFieldDetails firstNameMember = nameEmbeddableDetails.applyAttribute( + "first", + stringClassDetails, + false, + false, + modelsContext + ); + + final DynamicFieldDetails lastNameMember = nameEmbeddableDetails.applyAttribute( + "last", + stringClassDetails, + false, + false, + modelsContext + ); + + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // ENTITY - TheEntity + + final DynamicClassDetails entityDetails = (DynamicClassDetails) classDetailsRegistry.resolveClassDetails( + "TheEntity", + name -> { + final DynamicClassDetails classDetails = new DynamicClassDetails( name, modelsContext ); + final Entity entityUsage = classDetails.applyAnnotationUsage( JpaAnnotations.ENTITY, modelsContext ); + assertThat( entityUsage ).isNotNull(); + return classDetails; + } + ); + + final DynamicFieldDetails idMember = entityDetails.applyAttribute( + "id", + integerTypeDetails, + false, + false, + modelsContext + ); + final Id idUsage = idMember.applyAnnotationUsage( JpaAnnotations.ID, modelsContext ); + assertThat( idUsage ).isNotNull(); + + final DynamicFieldDetails nameMember = entityDetails.applyAttribute( + "name", + new ClassTypeDetailsImpl( nameEmbeddableDetails, TypeDetails.Kind.CLASS ), + false, + false, + modelsContext + ); + final Embedded embeddedUsage = nameMember.applyAnnotationUsage( JpaAnnotations.EMBEDDED, modelsContext ); + assertThat( embeddedUsage ).isNotNull(); + + + // ASSERTIONS + + assertThat( entityDetails.getFields() ).containsExactly( idMember, nameMember ); + checkPersistability( idMember ); + assertThat( idMember.hasDirectAnnotationUsage( Id.class ) ).isTrue(); + checkPersistability( nameMember ); + assertThat( nameMember.hasDirectAnnotationUsage( Embedded.class ) ).isTrue(); + + assertThat( nameEmbeddableDetails.getFields() ).containsExactly( firstNameMember, lastNameMember ); + checkPersistability( firstNameMember ); + checkPersistability( lastNameMember ); + } } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java index cb25114..0aa3a8d 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java @@ -7,7 +7,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.junit.jupiter.api.Test; @@ -26,9 +26,9 @@ void testObjectUse() { @Test void testSimpleClass() { - final SourceModelBuildingContext buildingContext = createModelContext( Simple.class ); + final ModelsContext modelsContext = createModelContext( Simple.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); final FieldDetails idField = classDetails.findFieldByName( "id" ); final TypeDetails idFieldType = idField.getType(); assertThat( idFieldType.getTypeKind() ).isEqualTo( TypeDetails.Kind.CLASS ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java index 4afb53f..6a70aa1 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java @@ -17,8 +17,8 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ParameterizedTypeDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; import org.hibernate.models.spi.WildcardTypeDetails; @@ -35,9 +35,9 @@ public class CollectionTests { @Test void testCollections() { - final SourceModelBuildingContext buildingContext = createModelContext( ClassOfCollections.class ); + final ModelsContext modelsContext = createModelContext( ClassOfCollections.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( ClassOfCollections.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( ClassOfCollections.class.getName() ); { final FieldDetails listOfString = classDetails.findFieldByName( "listOfString" ); @@ -138,9 +138,9 @@ void testCollections() { @Test void testArrays() { - final SourceModelBuildingContext buildingContext = createModelContext( ClassOfArrays.class ); + final ModelsContext modelsContext = createModelContext( ClassOfArrays.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( ClassOfArrays.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( ClassOfArrays.class.getName() ); { final FieldDetails intArrayField = classDetails.findFieldByName( "intArray" ); @@ -170,9 +170,9 @@ void testArrays() { @Test void testWildcard() { - final SourceModelBuildingContext buildingContext = createModelContext( Things.class ); + final ModelsContext modelsContext = createModelContext( Things.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Things.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Things.class.getName() ); final FieldDetails extendsStuffField = classDetails.findFieldByName( "extendsStuff" ); final TypeDetails extendsStuffFieldType = extendsStuffField.getType(); @@ -241,23 +241,23 @@ void testWildcard() { @Test void testListSubclasses() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( SpecialList.class, SpecialArrayList.class, SuperSpecialArrayList.class, SpecialListContainer.class ); - final ClassDetails specialListDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SpecialList.class.getName() ); + final ClassDetails specialListDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SpecialList.class.getName() ); assertThat( specialListDetails.isImplementor( List.class ) ).isTrue(); - final ClassDetails specialArrayListDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SpecialArrayList.class.getName() ); + final ClassDetails specialArrayListDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SpecialArrayList.class.getName() ); assertThat( specialArrayListDetails.isImplementor( List.class ) ).isTrue(); - final ClassDetails superSpecialArrayListDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SuperSpecialArrayList.class.getName() ); + final ClassDetails superSpecialArrayListDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SuperSpecialArrayList.class.getName() ); assertThat( superSpecialArrayListDetails.isImplementor( List.class ) ).isTrue(); - final ClassDetails containerDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SpecialListContainer.class.getName() ); + final ClassDetails containerDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SpecialListContainer.class.getName() ); final FieldDetails specialListField = containerDetails.findFieldByName( "specialList" ); assertThat( specialListField.getAssociatedType() ).isEqualTo( specialListField.getElementType() ); @@ -274,14 +274,14 @@ void testListSubclasses() { @Test void testMapSubclasses() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( SpecialMap.class, SpecialHashMap.class, SuperSpecialHashMap.class, SpecialMapContainer.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( SpecialMapContainer.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( SpecialMapContainer.class.getName() ); final FieldDetails standardMapField = classDetails.findFieldByName( "standardMap" ); assertThat( standardMapField.getType().isImplementor( Map.class ) ).isTrue(); @@ -362,6 +362,7 @@ static class Things { Map namedStuff; } + @SuppressWarnings("unused") static class SpecialListContainer { private SpecialList specialList; private SpecialArrayList specialArrayList; @@ -495,6 +496,7 @@ public List subList(int fromIndex, int toIndex) { + @SuppressWarnings("unused") static class SpecialMapContainer { private Map standardMap; private Map parameterizedMap; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java index ddf799d..6065bf9 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java @@ -8,7 +8,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -24,15 +24,15 @@ public class InheritanceTypeVariableTests { @Test void testParameterizedHierarchy() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( Root.class, Base1.class, Base2.class ); - final ClassDetails rootClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Root.class.getName() ); - final ClassDetails base1ClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Base1.class.getName() ); - final ClassDetails base2ClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Base2.class.getName() ); + final ClassDetails rootClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Root.class.getName() ); + final ClassDetails base1ClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Base1.class.getName() ); + final ClassDetails base2ClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Base2.class.getName() ); final FieldDetails idField = rootClassDetails.findFieldByName( "id" ); final TypeDetails idFieldType = idField.getType(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java index a4135fc..ad90a98 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java @@ -7,7 +7,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -22,7 +22,7 @@ public class NestedInheritanceTest { @Test void testNestedGenericHierarchy() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( BaseClass.class, IntermediateOne.class, IntermediateTwo.class, @@ -30,9 +30,9 @@ void testNestedGenericHierarchy() { LeafClass.class ); - final ClassDetails baseClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( BaseClass.class.getName() ); - final ClassDetails intermediateClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( IntermediateOne.class.getName() ); - final ClassDetails leafClassDetails = buildingContext.getClassDetailsRegistry().getClassDetails( LeafClass.class.getName() ); + final ClassDetails baseClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( BaseClass.class.getName() ); + final ClassDetails intermediateClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( IntermediateOne.class.getName() ); + final ClassDetails leafClassDetails = modelsContext.getClassDetailsRegistry().getClassDetails( LeafClass.class.getName() ); final FieldDetails base = baseClassDetails.findFieldByName( "base" ); final TypeDetails baseFieldType = base.getType(); @@ -75,10 +75,12 @@ void testNestedGenericHierarchy() { } static class BaseClass { + @SuppressWarnings("unused") T base; } static class IntermediateOne extends BaseClass { + @SuppressWarnings("unused") T one; } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java index 2bbf6bb..33071ee 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java @@ -9,7 +9,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.junit.jupiter.api.Test; @@ -23,7 +23,7 @@ public class NestedRecursiveInheritanceTest { @Test void testNestedGenericHierarchy() { - final SourceModelBuildingContext buildingContext = createModelContext( + final ModelsContext modelsContext = createModelContext( Child.class, Parent.class, ChildHierarchy1.class, @@ -35,11 +35,11 @@ void testNestedGenericHierarchy() { ); { - final ClassDetails child = buildingContext.getClassDetailsRegistry() + final ClassDetails child = modelsContext.getClassDetailsRegistry() .getClassDetails( Child.class.getName() ); - final ClassDetails child2 = buildingContext.getClassDetailsRegistry() + final ClassDetails child2 = modelsContext.getClassDetailsRegistry() .getClassDetails( ChildHierarchy2.class.getName() ); - final ClassDetails child22 = buildingContext.getClassDetailsRegistry() + final ClassDetails child22 = modelsContext.getClassDetailsRegistry() .getClassDetails( ChildHierarchy22.class.getName() ); final FieldDetails parentField = child.findFieldByName( "parent" ); @@ -57,11 +57,11 @@ void testNestedGenericHierarchy() { } { - final ClassDetails parent = buildingContext.getClassDetailsRegistry() + final ClassDetails parent = modelsContext.getClassDetailsRegistry() .getClassDetails( Parent.class.getName() ); - final ClassDetails parent2 = buildingContext.getClassDetailsRegistry() + final ClassDetails parent2 = modelsContext.getClassDetailsRegistry() .getClassDetails( ParentHierarchy2.class.getName() ); - final ClassDetails parent22 = buildingContext.getClassDetailsRegistry() + final ClassDetails parent22 = modelsContext.getClassDetailsRegistry() .getClassDetails( ParentHierarchy22.class.getName() ); final FieldDetails childrenField = parent.findFieldByName( "children" ); @@ -79,11 +79,15 @@ void testNestedGenericHierarchy() { } } + @SuppressWarnings("rawtypes") static abstract class Child

    { + @SuppressWarnings("unused") P parent; } + @SuppressWarnings("rawtypes") static abstract class Parent { + @SuppressWarnings("unused") Map children; } @@ -93,9 +97,11 @@ static class ParentHierarchy1 extends Parent { static class ChildHierarchy1 extends Child { } + @SuppressWarnings("rawtypes") static class ChildHierarchy2

    extends Child

    { } + @SuppressWarnings("rawtypes") static class ParentHierarchy2 extends Parent { } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java index 96c5a02..6167118 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java @@ -6,7 +6,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.junit.jupiter.api.Test; @@ -21,9 +21,9 @@ public class RecursiveTypeVariableTests { @Test void testTypeVariableReference() { - final SourceModelBuildingContext buildingContext = createModelContext( Simple.class ); + final ModelsContext modelsContext = createModelContext( Simple.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); final FieldDetails idField = classDetails.findFieldByName( "id" ); final TypeDetails idFieldType = idField.getType(); assertThat( idFieldType.getTypeKind() ).isEqualTo( TypeDetails.Kind.TYPE_VARIABLE ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java index aa0a160..b9a3739 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java @@ -8,7 +8,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.TypeVariableDetails; @@ -24,9 +24,9 @@ public class SimpleTypeVariableTests { @Test void testParameterizedClass() { - final SourceModelBuildingContext buildingContext = createModelContext( Simple.class ); + final ModelsContext modelsContext = createModelContext( Simple.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); assertThat( classDetails.getTypeParameters() ).hasSize( 1 ); assertThat( classDetails.getTypeParameters().get( 0 ) ).isInstanceOf( TypeVariableDetails.class ); final TypeVariableDetails typeParameter = classDetails.getTypeParameters().get( 0 ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java index ba7af3c..a57a2c8 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java @@ -7,7 +7,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -20,9 +20,9 @@ public class ArrayTests { @Test void testArrays() { - final SourceModelBuildingContext buildingContext = createModelContext( SomeClass.class ); + final ModelsContext modelsContext = createModelContext( SomeClass.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SomeClass.class.getName() ); assertThat( classDetails ).isNotNull(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java index 1536bc0..858df69 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java @@ -9,7 +9,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MemberDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -24,9 +24,9 @@ public class FieldDetailsTests { @Test void testFields() { - final SourceModelBuildingContext buildingContext = createModelContext( RandomClass.class ); + final ModelsContext modelsContext = createModelContext( RandomClass.class ); - final ClassDetails classDetails = buildingContext + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .findClassDetails( RandomClass.class.getName() ); assertThat( classDetails ).isNotNull(); @@ -114,6 +114,7 @@ void testFields() { final FieldDetails transientFieldField = classDetails.findFieldByName( "transientField" ); assertThat( transientFieldField.isPersistable() ).isFalse(); + //noinspection CodeBlock2Expr classDetails.forEachField( (position, fieldDetails) -> { System.out.printf( " > Field (%s) : %s\n", position, fieldDetails ); } ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java index 7beeace..0a1fef9 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java @@ -10,7 +10,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.MemberDetails; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -26,9 +26,9 @@ public class MethodDetailsTests { @Test void testMethods() { - final SourceModelBuildingContext buildingContext = createModelContext( RandomClass.class ); + final ModelsContext modelsContext = createModelContext( RandomClass.class ); - final ClassDetails classDetails = buildingContext + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .findClassDetails( RandomClass.class.getName() ); assertThat( classDetails ).isNotNull(); @@ -138,6 +138,7 @@ else if ( method.getName().equals( "somethingStatic" ) ) { assertThat( method.getVisibility() ).isEqualTo( MemberDetails.Visibility.PUBLIC ); } else { + //noinspection StatementWithEmptyBody if ( ( (JdkMethodDetails) method ).getMethod().isSynthetic() ) { // ignore it } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java index b554f32..7f863f0 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java @@ -13,7 +13,7 @@ import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.spi.ModelsContext; import org.junit.jupiter.api.Test; @@ -31,9 +31,9 @@ public class PluralMemberTests { @Test void testPluralMembers() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); { diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java index 700d365..6061436 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java @@ -6,8 +6,8 @@ import org.hibernate.models.spi.AnnotationTarget; import org.hibernate.models.spi.ClassDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.RecordComponentDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.junit.jupiter.api.Test; @@ -20,9 +20,9 @@ public class RecordTests { @Test void testRecords() { - final SourceModelBuildingContext buildingContext = createModelContext( Data.class ); + final ModelsContext modelsContext = createModelContext( Data.class ); - final ClassDetails classDetails = buildingContext + final ClassDetails classDetails = modelsContext .getClassDetailsRegistry() .findClassDetails( Data.class.getName() ); assertThat( classDetails ).isNotNull(); diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java index edf86e1..a9a128e 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java @@ -8,8 +8,8 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.ParameterizedTypeDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.TypeDetails; import org.hibernate.models.spi.WildcardTypeDetails; @@ -25,9 +25,9 @@ public class UnboundWildcardTests { @Test void testWildcardMembers() { - final SourceModelBuildingContext buildingContext = createModelContext( Thing.class ); + final ModelsContext modelsContext = createModelContext( Thing.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry() + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry() .getClassDetails( Thing.class.getName() ); { diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java index e4463d2..12ca556 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java @@ -11,8 +11,7 @@ import org.hibernate.models.serial.spi.StorableContext; import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.testing.util.SerializationHelper; import org.junit.jupiter.api.Test; @@ -24,19 +23,19 @@ public class SimpleSerializationTests { @Test void serializeSimpleClass() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); + final ModelsContext modelsContext = createModelContext( SimpleClass.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); assertThat( classDetails ).isNotNull(); - final StorableContext serialContext = buildingContext.toStorableForm(); + final StorableContext serialContext = modelsContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); assertThat( serialContext ).isNotSameAs( clonedSerialContext ); - final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - assertThat( buildingContext ).isNotSameAs( restored ); - assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + final ModelsContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); + assertThat( modelsContext ).isNotSameAs( restored ); + assertThat( modelsContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + assertThat( modelsContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); assertThat( cloneCassDetails ).isNotNull(); @@ -45,21 +44,21 @@ void serializeSimpleClass() { @Test void serializeSimpleClassWithMembers() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClassWithMembers.class ); + final ModelsContext modelsContext = createModelContext( SimpleClassWithMembers.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); assertThat( classDetails ).isNotNull(); assertThat( classDetails.getFields() ).hasSize( 1 ); assertThat( classDetails.getMethods() ).hasSize( 3 ); - final StorableContext serialContext = buildingContext.toStorableForm(); + final StorableContext serialContext = modelsContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); assertThat( serialContext ).isNotSameAs( clonedSerialContext ); - final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - assertThat( buildingContext ).isNotSameAs( restored ); - assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + final ModelsContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); + assertThat( modelsContext ).isNotSameAs( restored ); + assertThat( modelsContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + assertThat( modelsContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); assertThat( cloneCassDetails ).isNotNull(); @@ -70,9 +69,9 @@ void serializeSimpleClassWithMembers() { @Test void serializeSimpleClassWithAnnotations() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleClassWithAnnotations.class ); + final ModelsContext modelsContext = createModelContext( SimpleClassWithAnnotations.class ); - final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); + final ClassDetails classDetails = modelsContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); assertThat( classDetails ).isNotNull(); assertThat( classDetails.getDirectAnnotationUsages() ).hasSize( 1 ); assertThat( classDetails.getFields() ).hasSize( 1 ); @@ -80,15 +79,15 @@ void serializeSimpleClassWithAnnotations() { assertThat( classDetails.getMethods() ).hasSize( 1 ); assertThat( classDetails.getMethods().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); - final StorableContext serialContext = buildingContext.toStorableForm(); + final StorableContext serialContext = modelsContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); assertThat( serialContext ).isNotSameAs( clonedSerialContext ); - final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); + final ModelsContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); assertThat( restored ).isNotNull(); - assertThat( buildingContext ).isNotSameAs( restored ); - assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + assertThat( modelsContext ).isNotSameAs( restored ); + assertThat( modelsContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + assertThat( modelsContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); assertThat( classDetails ).isNotSameAs( cloneCassDetails ); @@ -103,6 +102,7 @@ void serializeSimpleClassWithAnnotations() { public static class SimpleClass { } + @SuppressWarnings("unused") public static class SimpleClassWithMembers { public int anInt; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java index fa17c7f..96b8416 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java @@ -7,8 +7,8 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; +import org.hibernate.models.spi.ModelsContext; import org.hibernate.models.spi.MutableMemberDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.testing.orm.JpaAnnotations; import org.junit.jupiter.api.Test; @@ -26,9 +26,9 @@ public class MetadataCompleteTests { @Test void testIt() { - final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); + final ModelsContext modelsContext = createModelContext( SimpleEntity.class ); - final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); + final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); // A metadata-complete XML mapping means that all "attributes" not explicitly listed in @@ -37,7 +37,7 @@ void testIt() { // we will remove that annotation. // mark them all transient... - classDetails.forEachPersistableMember( (member) -> ( (MutableMemberDetails) member ).applyAnnotationUsage( JpaAnnotations.TRANSIENT, buildingContext ) ); + classDetails.forEachPersistableMember( (member) -> ( (MutableMemberDetails) member ).applyAnnotationUsage( JpaAnnotations.TRANSIENT, modelsContext ) ); checkFieldIsTransient( classDetails.findFieldByName( "id" ), true ); checkFieldIsTransient( classDetails.findFieldByName( "name" ), true );