Class DefaultEnhancementContext
java.lang.Object
org.hibernate.bytecode.enhance.spi.DefaultEnhancementContext
- All Implemented Interfaces:
EnhancementContext,EnhancementOptions
default implementation of EnhancementContext. May be sub-classed as needed.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether to enable support for automatic management of bidirectional associations for this field.booleandoDirtyCheckingInline(UnloadedClass classDescriptor) Should we in-line dirty checking for persistent attributes for this class?booleandoExtendedEnhancement(UnloadedClass classDescriptor) Should we enhance field access to entities from this class?Obtain access to the ClassLoader that can be used to load Class references.booleanhasLazyLoadableAttributes(UnloadedClass classDescriptor) Does the given class define any lazy loadable attributes?booleanisCompositeClass(UnloadedClass classDescriptor) look for @Embeddable annotationbooleanisDiscoveredType(UnloadedClass classDescriptor) booleanisEntityClass(UnloadedClass classDescriptor) look for @Entity annotationbooleanisLazyLoadable(UnloadedField field) Determine if a field is lazy loadable.booleanisMappedCollection(UnloadedField field) look for @OneToMany, @ManyToMany and @ElementCollection annotationsbooleanisMappedSuperclassClass(UnloadedClass classDescriptor) look for @MappedSuperclass annotationbooleanisPersistentField(UnloadedField ctField) look for @Transient annotationorder(UnloadedField[] persistentFields) keep the same order.voidregisterDiscoveredType(UnloadedClass classDescriptor, Type.PersistenceType type) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.bytecode.enhance.spi.EnhancementContext
getBytecodeProvider, getUnsupportedEnhancementStrategyMethods inherited from interface org.hibernate.bytecode.enhance.spi.EnhancementOptions
doBiDirectionalAssociationManagement, doDirtyCheckingInline, doExtendedEnhancement
-
Constructor Details
-
DefaultEnhancementContext
public DefaultEnhancementContext()
-
-
Method Details
-
getLoadingClassLoader
Description copied from interface:EnhancementContextObtain access to the ClassLoader that can be used to load Class references. In JPA SPI terms, this should be a "temporary class loader" as defined byPersistenceUnitInfo.getNewTempClassLoader()- Specified by:
getLoadingClassLoaderin interfaceEnhancementContext- Returns:
- the classloader for this class
-
isEntityClass
look for @Entity annotation- Specified by:
isEntityClassin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueif the class is an entity;falseotherwise.
-
isCompositeClass
look for @Embeddable annotation- Specified by:
isCompositeClassin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueif the class is an embeddable/component;falseotherwise.
-
isMappedSuperclassClass
look for @MappedSuperclass annotation- Specified by:
isMappedSuperclassClassin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueif the class is a mapped super class;falseotherwise.
-
doBiDirectionalAssociationManagement
Description copied from interface:EnhancementOptionsWhether to enable support for automatic management of bidirectional associations for this field.- Specified by:
doBiDirectionalAssociationManagementin interfaceEnhancementOptions- Parameters:
field- The field to check.- Returns:
- true
-
doDirtyCheckingInline
Description copied from interface:EnhancementOptionsShould we in-line dirty checking for persistent attributes for this class?- Specified by:
doDirtyCheckingInlinein interfaceEnhancementOptions- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
- true
-
doExtendedEnhancement
Description copied from interface:EnhancementOptionsShould we enhance field access to entities from this class?- Specified by:
doExtendedEnhancementin interfaceEnhancementOptions- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
- false
-
hasLazyLoadableAttributes
Description copied from interface:EnhancementContextDoes the given class define any lazy loadable attributes?- Specified by:
hasLazyLoadableAttributesin interfaceEnhancementContext- Parameters:
classDescriptor- The class to check- Returns:
- true
-
isLazyLoadable
Description copied from interface:EnhancementContextDetermine if a field is lazy loadable.- Specified by:
isLazyLoadablein interfaceEnhancementContext- Parameters:
field- The field to check- Returns:
- true
-
isPersistentField
look for @Transient annotation- Specified by:
isPersistentFieldin interfaceEnhancementContext- Parameters:
ctField- The field reference.- Returns:
trueif the field is ;falseotherwise.
-
isMappedCollection
look for @OneToMany, @ManyToMany and @ElementCollection annotations- Specified by:
isMappedCollectionin interfaceEnhancementContext- Parameters:
field- the field to check- Returns:
trueif the field is mapped
-
order
keep the same order.- Specified by:
orderin interfaceEnhancementContext- Parameters:
persistentFields- The persistent field references.- Returns:
- The ordered references.
-
isDiscoveredType
- Specified by:
isDiscoveredTypein interfaceEnhancementContext
-
registerDiscoveredType
- Specified by:
registerDiscoveredTypein interfaceEnhancementContext
-