Top Description Fields Constructors Methods
org.hibernate.boot.model.internal

public Class EmbeddableBinder

extends Object
Class Inheritance
Imports
java.lang.annotation.Annotation, java.lang.reflect.Constructor, .Type, java.util.ArrayList, .HashMap, .List, .Map, org.hibernate.AnnotationException, org.hibernate.annotations.Instantiator, .TypeBinderType, org.hibernate.annotations.common.reflection.XAnnotatedElement, .XClass, .XMethod, .XProperty, org.hibernate.binder.TypeBinder, org.hibernate.boot.spi.AccessType, .MetadataBuildingContext, .PropertyData, org.hibernate.internal.CoreMessageLogger, org.hibernate.mapping.Component, .Property, .SimpleValue, .SingleTableSubclass, org.hibernate.metamodel.spi.EmbeddableInstantiator, org.hibernate.property.access.internal.PropertyAccessStrategyCompositeUserTypeImpl, .PropertyAccessStrategyMixedImpl, org.hibernate.property.access.spi.PropertyAccessStrategy, org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer, org.hibernate.resource.beans.spi.ManagedBeanRegistry, org.hibernate.usertype.CompositeUserType, jakarta.persistence.Column, .Convert, .Embeddable, .Embedded, .EmbeddedId, .GeneratedValue, .Id, .ManyToMany, .ManyToOne, .MappedSuperclass, .OneToMany, .OneToOne

A binder responsible for interpreting Embeddable classes and producing instances of the mapping model object Component.

Field Summary

Modifier and TypeField and Description
private static final CoreMessageLogger

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static Component
bindEmbeddable(PropertyData inferredData, PropertyHolder propertyHolder, AccessType propertyAccessor, EntityBinder entityBinder, boolean isIdentifierMapper, MetadataBuildingContext context, boolean isComponentEmbedded, boolean isId, Map<XClass, InheritanceState> inheritanceStatePerClass, String referencedEntityName, String propertyName, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, Class<? extends CompositeUserType<?>> compositeUserTypeClass, AnnotatedJoinColumns columns, AnnotatedColumns annotatedColumns)

private static void
callTypeBinders(Component component, MetadataBuildingContext context, XClass annotatedClass)

private static void
checkEmbeddedId(PropertyData inferredData, PropertyHolder propertyHolder, String referencedEntityName, Component component)

private static List<PropertyData>
collectBaseClassElements(PropertyData baseInferredData, AccessType propertyAccessor, MetadataBuildingContext context, XClass annotatedClass)

private static List<PropertyData>
collectClassElements(AccessType propertyAccessor, MetadataBuildingContext context, XClass returnedClassOrElement, XClass annotatedClass, boolean isIdClass)

private static CompositeUserType<?>
compositeUserType(Class<? extends CompositeUserType<?>> compositeUserTypeClass, MetadataBuildingContext context)

pack-priv static PropertyBinder
createCompositeBinder(PropertyHolder propertyHolder, PropertyData inferredData, EntityBinder entityBinder, boolean isIdentifierMapper, boolean isComponentEmbedded, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, XProperty property, AnnotatedColumns columns, XClass returnedClass, PropertyBinder propertyBinder, boolean isOverridden, Class<? extends CompositeUserType<?>> compositeUserType)

pack-priv static Component
createEmbeddable(PropertyHolder propertyHolder, PropertyData inferredData, boolean isComponentEmbedded, boolean isIdentifierMapper, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, MetadataBuildingContext context)

private static PropertyBinder
createEmbeddedProperty(PropertyData inferredData, PropertyHolder propertyHolder, EntityBinder entityBinder, MetadataBuildingContext context, boolean isComponentEmbedded, boolean isId, Map<XClass, InheritanceState> inheritanceStatePerClass, Component component)

private static Class<? extends EmbeddableInstantiator>
pack-priv static Component
fillEmbeddable(PropertyHolder propertyHolder, PropertyData inferredData, AccessType propertyAccessor, boolean isNullable, EntityBinder entityBinder, boolean isComponentEmbedded, boolean isIdentifierMapper, boolean inSecondPass, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, Class<? extends CompositeUserType<?>> compositeUserTypeClass, AnnotatedColumns columns, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass)

pack-priv static Component
fillEmbeddable(PropertyHolder propertyHolder, PropertyData inferredData, PropertyData baseInferredData, AccessType propertyAccessor, boolean isNullable, EntityBinder entityBinder, boolean isComponentEmbedded, boolean isIdentifierMapper, boolean inSecondPass, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, Class<? extends CompositeUserType<?>> compositeUserTypeClass, AnnotatedColumns columns, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, boolean isIdClass)

private static boolean
private static boolean
pack-priv static boolean
isEmbedded(XProperty property, XClass returnedClass)

private static void
processCompositeUserType(Component component, CompositeUserType<?> compositeUserType)

private static void
private static void
processIdClassElememts(PropertyHolder propertyHolder, PropertyData baseInferredData, List<PropertyData> classElements, List<PropertyData> baseClassElements)

private static Constructor<?>
resolveInstantiator(XClass embeddableClass, MetadataBuildingContext buildingContext)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

LOGback to summary
private static final CoreMessageLogger LOG

Constructor Detail

EmbeddableBinderback to summary
public EmbeddableBinder()

Method Detail

bindEmbeddableback to summary
private static Component bindEmbeddable(PropertyData inferredData, PropertyHolder propertyHolder, AccessType propertyAccessor, EntityBinder entityBinder, boolean isIdentifierMapper, MetadataBuildingContext context, boolean isComponentEmbedded, boolean isId, Map<XClass, InheritanceState> inheritanceStatePerClass, String referencedEntityName, String propertyName, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, Class<? extends CompositeUserType<?>> compositeUserTypeClass, AnnotatedJoinColumns columns, AnnotatedColumns annotatedColumns)
callTypeBindersback to summary
private static void callTypeBinders(Component component, MetadataBuildingContext context, XClass annotatedClass)
checkEmbeddedIdback to summary
private static void checkEmbeddedId(PropertyData inferredData, PropertyHolder propertyHolder, String referencedEntityName, Component component)
collectBaseClassElementsback to summary
private static List<PropertyData> collectBaseClassElements(PropertyData baseInferredData, AccessType propertyAccessor, MetadataBuildingContext context, XClass annotatedClass)
collectClassElementsback to summary
private static List<PropertyData> collectClassElements(AccessType propertyAccessor, MetadataBuildingContext context, XClass returnedClassOrElement, XClass annotatedClass, boolean isIdClass)
compositeUserTypeback to summary
private static CompositeUserType<?> compositeUserType(Class<? extends CompositeUserType<?>> compositeUserTypeClass, MetadataBuildingContext context)
createCompositeBinderback to summary
pack-priv static PropertyBinder createCompositeBinder(PropertyHolder propertyHolder, PropertyData inferredData, EntityBinder entityBinder, boolean isIdentifierMapper, boolean isComponentEmbedded, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, XProperty property, AnnotatedColumns columns, XClass returnedClass, PropertyBinder propertyBinder, boolean isOverridden, Class<? extends CompositeUserType<?>> compositeUserType)
createEmbeddableback to summary
pack-priv static Component createEmbeddable(PropertyHolder propertyHolder, PropertyData inferredData, boolean isComponentEmbedded, boolean isIdentifierMapper, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, MetadataBuildingContext context)
createEmbeddedPropertyback to summary
private static PropertyBinder createEmbeddedProperty(PropertyData inferredData, PropertyHolder propertyHolder, EntityBinder entityBinder, MetadataBuildingContext context, boolean isComponentEmbedded, boolean isId, Map<XClass, InheritanceState> inheritanceStatePerClass, Component component)
determineCustomInstantiatorback to summary
private static Class<? extends EmbeddableInstantiator> determineCustomInstantiator(XProperty property, XClass returnedClass, MetadataBuildingContext context)
fillEmbeddableback to summary
pack-priv static Component fillEmbeddable(PropertyHolder propertyHolder, PropertyData inferredData, AccessType propertyAccessor, boolean isNullable, EntityBinder entityBinder, boolean isComponentEmbedded, boolean isIdentifierMapper, boolean inSecondPass, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, Class<? extends CompositeUserType<?>> compositeUserTypeClass, AnnotatedColumns columns, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass)
fillEmbeddableback to summary
pack-priv static Component fillEmbeddable(PropertyHolder propertyHolder, PropertyData inferredData, PropertyData baseInferredData, AccessType propertyAccessor, boolean isNullable, EntityBinder entityBinder, boolean isComponentEmbedded, boolean isIdentifierMapper, boolean inSecondPass, Class<? extends EmbeddableInstantiator> customInstantiatorImpl, Class<? extends CompositeUserType<?>> compositeUserTypeClass, AnnotatedColumns columns, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, boolean isIdClass)
hasAnnotationsOnIdClassback to summary
private static boolean hasAnnotationsOnIdClass(XClass idClass)
hasTriggeringAnnotationback to summary
private static boolean hasTriggeringAnnotation(XAnnotatedElement property)
isEmbeddedback to summary
pack-priv static boolean isEmbedded(XProperty property, XClass returnedClass)
processCompositeUserTypeback to summary
private static void processCompositeUserType(Component component, CompositeUserType<?> compositeUserType)
processGeneratedIdback to summary
private static void processGeneratedId(MetadataBuildingContext context, Component component, XProperty property)
processIdClassElememtsback to summary
private static void processIdClassElememts(PropertyHolder propertyHolder, PropertyData baseInferredData, List<PropertyData> classElements, List<PropertyData> baseClassElements)
resolveInstantiatorback to summary
private static Constructor<?> resolveInstantiator(XClass embeddableClass, MetadataBuildingContext buildingContext)