Skip to content

Commit ca8245a

Browse files
committed
#125 - Consolidate SourceModelContext and SourceModelBuildingContext
1 parent 4391e09 commit ca8245a

File tree

253 files changed

+1680
-2138
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

253 files changed

+1680
-2138
lines changed

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyBuilders.java

Lines changed: 8 additions & 147 deletions
Large diffs are not rendered by default.

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ByteBuddyContextProvider.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,32 @@
77
import java.util.Map;
88

99
import org.hibernate.models.bytebuddy.Settings;
10-
import org.hibernate.models.internal.BasicModelBuildingContextImpl;
10+
import org.hibernate.models.internal.BasicModelsContextImpl;
1111
import org.hibernate.models.spi.ClassLoading;
12+
import org.hibernate.models.spi.ModelsContext;
1213
import org.hibernate.models.spi.RegistryPrimer;
13-
import org.hibernate.models.spi.SourceModelBuildingContext;
14-
import org.hibernate.models.spi.SourceModelBuildingContextProvider;
14+
import org.hibernate.models.spi.ModelsContextProvider;
1515

1616
import net.bytebuddy.pool.TypePool;
1717

1818
/**
1919
* @author Steve Ebersole
2020
*/
21-
public class ByteBuddyContextProvider implements SourceModelBuildingContextProvider {
21+
public class ByteBuddyContextProvider implements ModelsContextProvider {
2222
public static final ByteBuddyContextProvider BYTEBUDDY_PROVIDER = new ByteBuddyContextProvider();
2323

2424
@Override
25-
public SourceModelBuildingContext produceContext(
25+
public ModelsContext produceContext(
2626
ClassLoading classLoading,
2727
RegistryPrimer registryPrimer,
2828
Map<Object, Object> configProperties) {
2929
final TypePool typePool = resolveTypePool( configProperties );
3030

3131
if ( typePool != null ) {
32-
return new ByteBuddyModelContextImpl( typePool, classLoading, registryPrimer );
32+
return new ByteBuddyModelsContextImpl( typePool, classLoading, registryPrimer );
3333
}
3434

35-
return new BasicModelBuildingContextImpl( classLoading, registryPrimer );
35+
return new BasicModelsContextImpl( classLoading, registryPrimer );
3636
}
3737

3838
private TypePool resolveTypePool(Map<Object, Object> configProperties) {
Lines changed: 9 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
import java.util.Map;
99

1010
import org.hibernate.models.bytebuddy.spi.ByteBuddyModelsContext;
11-
import org.hibernate.models.bytebuddy.spi.ValueConverter;
1211
import org.hibernate.models.bytebuddy.spi.ValueExtractor;
13-
import org.hibernate.models.internal.AbstractModelBuildingContext;
12+
import org.hibernate.models.internal.AbstractModelsContext;
1413
import org.hibernate.models.internal.AnnotationDescriptorRegistryStandard;
1514
import org.hibernate.models.internal.MutableAnnotationDescriptorRegistry;
1615
import org.hibernate.models.internal.MutableClassDetailsRegistry;
17-
import org.hibernate.models.internal.SimpleClassLoading;
1816
import org.hibernate.models.serial.internal.StorableContextImpl;
1917
import org.hibernate.models.serial.spi.StorableContext;
2018
import org.hibernate.models.spi.ClassLoading;
@@ -24,29 +22,22 @@
2422
import net.bytebuddy.pool.TypePool;
2523

2624
/**
27-
* SourceModelBuildingContext implementation based on ByteBuddy, leveraging a
28-
* {@linkplain TypePool} to inspect
25+
* Implementation of ByteBuddyModelsContext
2926
*
3027
* @author Steve Ebersole
3128
*/
32-
public class ByteBuddyModelContextImpl
33-
extends AbstractModelBuildingContext
29+
public class ByteBuddyModelsContextImpl
30+
extends AbstractModelsContext
3431
implements ByteBuddyModelsContext {
3532
private final TypePool typePool;
3633

3734
private final ClassDetailsRegistryImpl classDetailsRegistry;
3835
private final AnnotationDescriptorRegistryStandard descriptorRegistry;
3936

40-
private final Map<ValueTypeDescriptor, ValueConverter> valueConverters = new HashMap<>();
37+
@SuppressWarnings("rawtypes")
4138
private final Map<ValueTypeDescriptor, ValueExtractor> valueExtractors = new HashMap<>();
4239

43-
public ByteBuddyModelContextImpl(
44-
TypePool typePool,
45-
RegistryPrimer registryPrimer) {
46-
this( typePool, SimpleClassLoading.SIMPLE_CLASS_LOADING, registryPrimer );
47-
}
48-
49-
public ByteBuddyModelContextImpl(
40+
public ByteBuddyModelsContextImpl(
5041
TypePool typePool,
5142
ClassLoading classLoading,
5243
RegistryPrimer registryPrimer) {
@@ -80,22 +71,6 @@ public StorableContext toStorableForm() {
8071
return new StorableContextImpl( classDetailsRegistry.classDetailsMap(), descriptorRegistry.descriptorMap() );
8172
}
8273

83-
@Override
84-
public <V> ValueConverter<V> getValueConverter(ValueTypeDescriptor<V> valueTypeDescriptor) {
85-
//noinspection unchecked
86-
final ValueConverter<V> existing = valueConverters.get( valueTypeDescriptor );
87-
if ( existing != null ) {
88-
return existing;
89-
}
90-
91-
return ByteBuddyBuilders.buildValueHandlersReturnConverter(
92-
valueTypeDescriptor,
93-
valueConverters::put,
94-
valueExtractors::put,
95-
this
96-
);
97-
}
98-
9974
@Override
10075
public <V> ValueExtractor<V> getValueExtractor(ValueTypeDescriptor<V> valueTypeDescriptor) {
10176
//noinspection unchecked
@@ -104,11 +79,11 @@ public <V> ValueExtractor<V> getValueExtractor(ValueTypeDescriptor<V> valueTypeD
10479
return existing;
10580
}
10681

107-
return ByteBuddyBuilders.buildValueHandlersReturnExtractor(
82+
final ValueExtractor<V> valueExtractor = ByteBuddyBuilders.buildValueExtractor(
10883
valueTypeDescriptor,
109-
valueConverters::put,
110-
valueExtractors::put,
11184
this
11285
);
86+
valueExtractors.put( valueTypeDescriptor, valueExtractor );
87+
return valueExtractor;
11388
}
11489
}

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsBuilderImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.hibernate.models.bytebuddy.spi.ByteBuddyModelsContext;
88
import org.hibernate.models.spi.ClassDetails;
99
import org.hibernate.models.spi.ClassDetailsBuilder;
10-
import org.hibernate.models.spi.SourceModelBuildingContext;
10+
import org.hibernate.models.spi.ModelsContext;
1111

1212
/**
1313
* @author Steve Ebersole
@@ -20,8 +20,8 @@ public ClassDetailsBuilderImpl(ByteBuddyModelsContext modelContext) {
2020
}
2121

2222
@Override
23-
public ClassDetails buildClassDetails(String name, SourceModelBuildingContext buildingContext) {
24-
assert buildingContext == modelContext;
23+
public ClassDetails buildClassDetails(String name, ModelsContext modelsContext) {
24+
assert modelsContext == modelContext;
2525
return ByteBuddyBuilders.buildDetails( name, modelContext );
2626
}
2727
}

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsImpl.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
import org.hibernate.models.spi.FieldDetails;
1818
import org.hibernate.models.spi.MethodDetails;
1919
import org.hibernate.models.spi.RecordComponentDetails;
20-
import org.hibernate.models.spi.SourceModelBuildingContext;
21-
import org.hibernate.models.spi.SourceModelContext;
20+
import org.hibernate.models.spi.ModelsContext;
2221
import org.hibernate.models.spi.TypeDetails;
2322
import org.hibernate.models.spi.TypeVariableDetails;
2423

@@ -202,7 +201,7 @@ public <X> Class<X> toJavaClass() {
202201
}
203202

204203
@Override
205-
public <X> Class<X> toJavaClass(ClassLoading classLoading, SourceModelContext modelContext) {
204+
public <X> Class<X> toJavaClass(ClassLoading classLoading, ModelsContext modelContext) {
206205
return classLoading.classForName( getClassName() );
207206
}
208207

@@ -218,27 +217,27 @@ public String toString() {
218217

219218
private static ClassDetails determineSuperType(
220219
TypeDescription typeDescription,
221-
SourceModelBuildingContext buildingContext) {
220+
ModelsContext modelsContext) {
222221
if ( typeDescription.getSuperClass() == null ) {
223222
return null;
224223
}
225224

226-
return buildingContext
225+
return modelsContext
227226
.getClassDetailsRegistry()
228227
.resolveClassDetails( typeDescription.getSuperClass().asRawType().getTypeName() );
229228
}
230229

231-
private static TypeDetails determineGenericSuperType(TypeDescription typeDescription, SourceModelBuildingContext buildingContext) {
230+
private static TypeDetails determineGenericSuperType(TypeDescription typeDescription, ModelsContext modelsContext) {
232231
if ( typeDescription.getSuperClass() == null ) {
233232
return null;
234233
}
235234

236-
return TypeSwitchStandard.switchType( typeDescription.getSuperClass(), buildingContext );
235+
return TypeSwitchStandard.switchType( typeDescription.getSuperClass(), modelsContext );
237236
}
238237

239238
private static List<TypeDetails> determineInterfaces(
240239
TypeDescription typeDescription,
241-
SourceModelBuildingContext buildingContext) {
240+
ModelsContext modelsContext) {
242241
final TypeList.Generic interfaceTypes = typeDescription.getInterfaces();
243242
if ( isEmpty( interfaceTypes ) ) {
244243
return emptyList();
@@ -248,7 +247,7 @@ private static List<TypeDetails> determineInterfaces(
248247
for ( TypeDescription.Generic interfaceType : interfaceTypes ) {
249248
final TypeDetails switchedType = TypeSwitchStandard.switchType(
250249
interfaceType,
251-
buildingContext
250+
modelsContext
252251
);
253252
result.add( switchedType );
254253
}
@@ -258,15 +257,15 @@ private static List<TypeDetails> determineInterfaces(
258257
private static List<TypeVariableDetails> determineTypeParameters(
259258
TypeDescription typeDescription,
260259
ClassDetailsImpl current,
261-
SourceModelBuildingContext buildingContext) {
260+
ModelsContext modelsContext) {
262261
final TypeList.Generic typeArguments = typeDescription.getTypeVariables();
263262
if ( CollectionHelper.isEmpty( typeArguments ) ) {
264263
return emptyList();
265264
}
266265

267266
final ArrayList<TypeVariableDetails> result = arrayList( typeArguments.size() );
268267
for ( TypeDescription.Generic typeArgument : typeArguments ) {
269-
result.add( (TypeVariableDetails) TypeSwitchStandard.switchType( typeArgument, current, buildingContext ) );
268+
result.add( (TypeVariableDetails) TypeSwitchStandard.switchType( typeArgument, current, modelsContext ) );
270269
}
271270
return result;
272271
}

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/ClassDetailsRegistryImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
public class ClassDetailsRegistryImpl extends AbstractClassDetailsRegistry {
1919
private final ClassDetailsBuilderImpl classDetailsBuilder;
2020

21-
public ClassDetailsRegistryImpl(ByteBuddyModelContextImpl context) {
21+
public ClassDetailsRegistryImpl(ByteBuddyModelsContextImpl context) {
2222
super( context );
2323
this.classDetailsBuilder = new ClassDetailsBuilderImpl( context );
2424
}

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/FieldDetailsImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.hibernate.models.spi.MutableClassDetails;
2121
import org.hibernate.models.spi.MutableMemberDetails;
2222
import org.hibernate.models.spi.RecordComponentDetails;
23-
import org.hibernate.models.spi.SourceModelContext;
23+
import org.hibernate.models.spi.ModelsContext;
2424
import org.hibernate.models.spi.TypeDetails;
2525

2626
import net.bytebuddy.description.annotation.AnnotationSource;
@@ -107,7 +107,7 @@ public Field toJavaMember() {
107107
public Field toJavaMember(
108108
Class<?> declaringJavaClass,
109109
ClassLoading classLoading,
110-
SourceModelContext modelContext) {
110+
ModelsContext modelContext) {
111111
try {
112112
return declaringJavaClass.getField( getName() );
113113
}

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/MethodDetailsImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.hibernate.models.spi.MutableClassDetails;
2323
import org.hibernate.models.spi.MutableMemberDetails;
2424
import org.hibernate.models.spi.RecordComponentDetails;
25-
import org.hibernate.models.spi.SourceModelContext;
25+
import org.hibernate.models.spi.ModelsContext;
2626
import org.hibernate.models.spi.TypeDetails;
2727

2828
import net.bytebuddy.description.annotation.AnnotationSource;
@@ -154,7 +154,7 @@ public Method toJavaMember() {
154154
public Method toJavaMember(
155155
Class<?> declaringJavaClass,
156156
ClassLoading classLoading,
157-
SourceModelContext modelContext) {
157+
ModelsContext modelContext) {
158158
methods: for ( Method method : declaringJavaClass.getDeclaredMethods() ) {
159159
if ( !method.getName().equals( getName() ) ) {
160160
continue;

hibernate-models-bytebuddy/src/main/java/org/hibernate/models/bytebuddy/internal/RecordComponentDetailsImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.hibernate.models.spi.MutableClassDetails;
2121
import org.hibernate.models.spi.MutableMemberDetails;
2222
import org.hibernate.models.spi.RecordComponentDetails;
23-
import org.hibernate.models.spi.SourceModelContext;
23+
import org.hibernate.models.spi.ModelsContext;
2424
import org.hibernate.models.spi.TypeDetails;
2525

2626
import net.bytebuddy.description.annotation.AnnotationSource;
@@ -100,7 +100,7 @@ public Member toJavaMember() {
100100
}
101101

102102
@Override
103-
public Member toJavaMember(Class<?> declaringClass, ClassLoading classLoading, SourceModelContext modelContext) {
103+
public Member toJavaMember(Class<?> declaringClass, ClassLoading classLoading, ModelsContext modelContext) {
104104
// we could maybe resolve the corresponding method...
105105
return null;
106106
}

0 commit comments

Comments
 (0)