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 extends Annotation> annotationDescriptor = sourceModelBuildingContext
- .getAnnotationDescriptorRegistry()
- .getDescriptor( (Class extends Annotation>) valueTypeDescriptor.getValueType() );
- final NestedValueConverter extends Annotation> jandexNestedValueConverter = new NestedValueConverter<>( annotationDescriptor );
- final NestedValueExtractor extends Annotation> 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 extends Enum> 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 extends Annotation> annotationDescriptor = sourceModelBuildingContext
+ final AnnotationDescriptor extends Annotation> annotationDescriptor = modelsContext
.getAnnotationDescriptorRegistry()
.getDescriptor( (Class extends Annotation>) valueTypeDescriptor.getValueType() );
final NestedValueConverter extends Annotation> jandexNestedValueConverter = new NestedValueConverter<>( annotationDescriptor );
final NestedValueExtractor extends Annotation> 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 extends Enum> 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