Package org.hibernate.bytecode.internal
Class BytecodeEnhancementMetadataNonPojoImpl
java.lang.Object
org.hibernate.bytecode.internal.BytecodeEnhancementMetadataNonPojoImpl
- All Implemented Interfaces:
BytecodeEnhancementMetadata
public class BytecodeEnhancementMetadataNonPojoImpl
extends Object
implements BytecodeEnhancementMetadata
BytecodeEnhancementMetadata implementation for non-POJO models, mainly
RepresentationMode.MAP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateEnhancedProxy
(EntityKey keyToLoad, boolean addEmptyEntry, SharedSessionContractImplementor session) Create an "enhancement as proxy" instance for the given entity@Nullable LazyAttributeLoadingInterceptor
extractInterceptor
(Object entity) Extract the field interceptor instance from the enhanced entity.@Nullable BytecodeLazyAttributeInterceptor
extractLazyInterceptor
(Object entity) The name of the entity to which this metadata applies.boolean
hasUnFetchedAttributes
(Object entity) void
injectEnhancedEntityAsProxyInterceptor
(Object entity, EntityKey entityKey, SharedSessionContractImplementor session) injectInterceptor
(Object entity, Object identifier, SharedSessionContractImplementor session) Build and inject an interceptor instance into the enhanced entity.void
injectInterceptor
(Object entity, PersistentAttributeInterceptor interceptor, SharedSessionContractImplementor session) boolean
isAttributeLoaded
(Object entity, String attributeName) boolean
Has the entity class been bytecode enhanced for lazy loading?
-
Constructor Details
-
BytecodeEnhancementMetadataNonPojoImpl
-
-
Method Details
-
getEntityName
Description copied from interface:BytecodeEnhancementMetadata
The name of the entity to which this metadata applies.- Specified by:
getEntityName
in interfaceBytecodeEnhancementMetadata
- Returns:
- The entity name
-
isEnhancedForLazyLoading
public boolean isEnhancedForLazyLoading()Description copied from interface:BytecodeEnhancementMetadata
Has the entity class been bytecode enhanced for lazy loading?- Specified by:
isEnhancedForLazyLoading
in interfaceBytecodeEnhancementMetadata
- Returns:
true
indicates the entity class is enhanced for Hibernate use in lazy loading;false
indicates it is not
-
getLazyAttributesMetadata
- Specified by:
getLazyAttributesMetadata
in interfaceBytecodeEnhancementMetadata
-
extractInterceptor
public @Nullable LazyAttributeLoadingInterceptor extractInterceptor(Object entity) throws NotInstrumentedException Description copied from interface:BytecodeEnhancementMetadata
Extract the field interceptor instance from the enhanced entity.- Specified by:
extractInterceptor
in interfaceBytecodeEnhancementMetadata
- Parameters:
entity
- The entity from which to extract the interceptor- Returns:
- The extracted interceptor
- Throws:
NotInstrumentedException
- Thrown ifBytecodeEnhancementMetadata.isEnhancedForLazyLoading()
returnsfalse
-
extractLazyInterceptor
public @Nullable BytecodeLazyAttributeInterceptor extractLazyInterceptor(Object entity) throws NotInstrumentedException - Specified by:
extractLazyInterceptor
in interfaceBytecodeEnhancementMetadata
- Throws:
NotInstrumentedException
-
hasUnFetchedAttributes
- Specified by:
hasUnFetchedAttributes
in interfaceBytecodeEnhancementMetadata
-
isAttributeLoaded
- Specified by:
isAttributeLoaded
in interfaceBytecodeEnhancementMetadata
-