Class LazyAttributeLoadingInterceptor
java.lang.Object
org.hibernate.bytecode.enhance.spi.interceptor.AbstractInterceptor
org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor
- All Implemented Interfaces:
BytecodeLazyAttributeInterceptor
,SessionAssociableInterceptor
,LazyPropertyInitializer.InterceptorImplementor
,PersistentAttributeInterceptor
public class LazyAttributeLoadingInterceptor
extends AbstractInterceptor
implements BytecodeLazyAttributeInterceptor
Interceptor that loads attributes lazily
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
This is an helper object to group all state which relates to a particular entity type, and which is needed for this interceptor. -
Constructor Summary
ConstructorsConstructorDescriptionLazyAttributeLoadingInterceptor
(LazyAttributeLoadingInterceptor.EntityRelatedState entityMeta, Object identifier, SharedSessionContractImplementor session) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLazyFieldByGraph
(String fieldName) void
attributeInitialized
(String name) Callback from the enhanced class that an attribute has been read or writtenvoid
fetchAttribute
(Object target, String attributeName) Fetches the lazy attribute.The name of the entity this interceptor is meant to interceptThe id of the entity instance this interceptor is associated withThe names of all lazy attributes which have been initializedprotected Object
handleRead
(Object target, String attributeName, Object value) Handle the case of reading an attribute.protected Object
handleWrite
(Object target, String attributeName, Object oldValue, Object newValue) Handle the case of writing an attribute.boolean
boolean
isAttributeLoaded
(String fieldName) Callback from the enhanced class that an attribute has been loadedprotected Object
loadAttribute
(Object target, String attributeName) toString()
Methods inherited from class org.hibernate.bytecode.enhance.spi.interceptor.AbstractInterceptor
allowLoadOutsideTransaction, getLinkedSession, getSessionFactoryUuid, readBoolean, readByte, readChar, readDouble, readFloat, readInt, readLong, readObject, readShort, setSession, unsetSession, writeBoolean, writeByte, writeChar, writeDouble, writeFloat, writeInt, writeLong, writeObject, writeShort
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.hibernate.engine.spi.PersistentAttributeInterceptor
readBoolean, readByte, readChar, readDouble, readFloat, readInt, readLong, readObject, readShort, writeBoolean, writeByte, writeChar, writeDouble, writeFloat, writeInt, writeLong, writeObject, writeShort
Methods inherited from interface org.hibernate.bytecode.enhance.spi.interceptor.SessionAssociableInterceptor
allowLoadOutsideTransaction, getLinkedSession, getSessionFactoryUuid, setSession, unsetSession
-
Constructor Details
-
Method Details
-
getEntityName
Description copied from interface:BytecodeLazyAttributeInterceptor
The name of the entity this interceptor is meant to intercept- Specified by:
getEntityName
in interfaceBytecodeLazyAttributeInterceptor
-
getIdentifier
Description copied from interface:BytecodeLazyAttributeInterceptor
The id of the entity instance this interceptor is associated with- Specified by:
getIdentifier
in interfaceBytecodeLazyAttributeInterceptor
-
handleRead
Description copied from class:AbstractInterceptor
Handle the case of reading an attribute. The result is what is returned to the caller- Specified by:
handleRead
in classAbstractInterceptor
-
handleWrite
Description copied from class:AbstractInterceptor
Handle the case of writing an attribute. The result is what is set as the entity state- Specified by:
handleWrite
in classAbstractInterceptor
-
fetchAttribute
Fetches the lazy attribute. The attribute does not get associated with the entity. (To be used by hibernate methods) -
loadAttribute
-
isAttributeLoaded
Description copied from interface:PersistentAttributeInterceptor
Callback from the enhanced class that an attribute has been loaded- Specified by:
isAttributeLoaded
in interfaceBytecodeLazyAttributeInterceptor
- Specified by:
isAttributeLoaded
in interfacePersistentAttributeInterceptor
- Parameters:
fieldName
-- Returns:
- true id the attribute is loaded false otherwise
-
hasAnyUninitializedAttributes
public boolean hasAnyUninitializedAttributes()- Specified by:
hasAnyUninitializedAttributes
in interfaceBytecodeLazyAttributeInterceptor
-
toString
-
attributeInitialized
Description copied from interface:BytecodeLazyAttributeInterceptor
Callback from the enhanced class that an attribute has been read or written- Specified by:
attributeInitialized
in interfaceBytecodeLazyAttributeInterceptor
- Specified by:
attributeInitialized
in interfaceLazyPropertyInitializer.InterceptorImplementor
- Specified by:
attributeInitialized
in interfacePersistentAttributeInterceptor
-
getInitializedLazyAttributeNames
Description copied from interface:BytecodeLazyAttributeInterceptor
The names of all lazy attributes which have been initialized- Specified by:
getInitializedLazyAttributeNames
in interfaceBytecodeLazyAttributeInterceptor
- Specified by:
getInitializedLazyAttributeNames
in interfaceLazyPropertyInitializer.InterceptorImplementor
- Specified by:
getInitializedLazyAttributeNames
in interfacePersistentAttributeInterceptor
-
addLazyFieldByGraph
-
clearInitializedLazyFields
public void clearInitializedLazyFields()
-