Class EnhancementContextWrapper
- java.lang.Object
-
- org.hibernate.bytecode.enhance.spi.EnhancementContextWrapper
-
- All Implemented Interfaces:
EnhancementContext
public class EnhancementContextWrapper extends java.lang.Object implements EnhancementContext
-
-
Constructor Summary
Constructors Constructor Description EnhancementContextWrapper(EnhancementContext wrappedContext, java.lang.ClassLoader loadingClassloader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleandoBiDirectionalAssociationManagement(UnloadedField field)Should we manage association of bi-directional persistent attributes 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?java.lang.ClassLoadergetLoadingClassLoader()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)Does the given class name represent an embeddable/component class?booleanisEntityClass(UnloadedClass classDescriptor)Does the given class descriptor represent an entity class?booleanisLazyLoadable(UnloadedField field)Determine if a field is lazy loadable.booleanisMappedCollection(UnloadedField field)booleanisMappedSuperclassClass(UnloadedClass classDescriptor)Does the given class name represent a MappedSuperclass class?booleanisPersistentField(UnloadedField ctField)Does the field represent persistent state? Persistent fields will be "enhanced".UnloadedField[]order(UnloadedField[] persistentFields)For fields which are persistent (according toEnhancementContext.isPersistentField(org.hibernate.bytecode.enhance.spi.UnloadedField)), determine the corresponding ordering maintained within the Hibernate metamodel.
-
-
-
Constructor Detail
-
EnhancementContextWrapper
public EnhancementContextWrapper(EnhancementContext wrappedContext, java.lang.ClassLoader loadingClassloader)
-
-
Method Detail
-
getLoadingClassLoader
public java.lang.ClassLoader 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 class loader that the enhancer can use.
-
isEntityClass
public boolean isEntityClass(UnloadedClass classDescriptor)
Description copied from interface:EnhancementContextDoes the given class descriptor represent an entity class?- Specified by:
isEntityClassin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueif the class is an entity;falseotherwise.
-
isCompositeClass
public boolean isCompositeClass(UnloadedClass classDescriptor)
Description copied from interface:EnhancementContextDoes the given class name represent an embeddable/component class?- Specified by:
isCompositeClassin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueif the class is an embeddable/component;falseotherwise.
-
isMappedSuperclassClass
public boolean isMappedSuperclassClass(UnloadedClass classDescriptor)
Description copied from interface:EnhancementContextDoes the given class name represent a MappedSuperclass class?- Specified by:
isMappedSuperclassClassin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueif the class is a mapped super class;falseotherwise.
-
doBiDirectionalAssociationManagement
public boolean doBiDirectionalAssociationManagement(UnloadedField field)
Description copied from interface:EnhancementContextShould we manage association of bi-directional persistent attributes for this field?- Specified by:
doBiDirectionalAssociationManagementin interfaceEnhancementContext- Parameters:
field- The field to check.- Returns:
trueindicates that the field is enhanced so that for bi-directional persistent fields the association is managed, i.e. the associations are automatically set;falseindicates that the management is handled by the user.
-
doDirtyCheckingInline
public boolean doDirtyCheckingInline(UnloadedClass classDescriptor)
Description copied from interface:EnhancementContextShould we in-line dirty checking for persistent attributes for this class?- Specified by:
doDirtyCheckingInlinein interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueindicates that dirty checking should be in-lined within the entity;falseindicates it should not. In-lined is more easily serializable and probably more performant.
-
doExtendedEnhancement
public boolean doExtendedEnhancement(UnloadedClass classDescriptor)
Description copied from interface:EnhancementContextShould we enhance field access to entities from this class?- Specified by:
doExtendedEnhancementin interfaceEnhancementContext- Parameters:
classDescriptor- The descriptor of the class to check.- Returns:
trueindicates that any direct access to fields of entities should be routed to the enhanced getter / setter method.
-
hasLazyLoadableAttributes
public boolean hasLazyLoadableAttributes(UnloadedClass classDescriptor)
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/false
-
isPersistentField
public boolean isPersistentField(UnloadedField ctField)
Description copied from interface:EnhancementContextDoes the field represent persistent state? Persistent fields will be "enhanced". may be better to perform basic checks in the caller (non-static, etc) and call out with just the Class name and field name...- Specified by:
isPersistentFieldin interfaceEnhancementContext- Parameters:
ctField- The field reference.- Returns:
trueif the field is ;falseotherwise.
-
order
public UnloadedField[] order(UnloadedField[] persistentFields)
Description copied from interface:EnhancementContextFor fields which are persistent (according toEnhancementContext.isPersistentField(org.hibernate.bytecode.enhance.spi.UnloadedField)), determine the corresponding ordering maintained within the Hibernate metamodel.- Specified by:
orderin interfaceEnhancementContext- Parameters:
persistentFields- The persistent field references.- Returns:
- The ordered references.
-
isLazyLoadable
public boolean isLazyLoadable(UnloadedField field)
Description copied from interface:EnhancementContextDetermine if a field is lazy loadable.- Specified by:
isLazyLoadablein interfaceEnhancementContext- Parameters:
field- The field to check- Returns:
trueif the field is lazy loadable;falseotherwise.
-
isMappedCollection
public boolean isMappedCollection(UnloadedField field)
- Specified by:
isMappedCollectionin interfaceEnhancementContext- Parameters:
field- the field to check- Returns:
trueif the field is mapped
-
-