Class EntryFactoryImpl

  • All Implemented Interfaces:
    EntryFactory

    public class EntryFactoryImpl
    extends Object
    implements EntryFactory
    EntryFactory implementation to be used for optimistic locking scheme.
    Since:
    5.1
    Author:
    Mircea Markus
    • Constructor Detail

      • EntryFactoryImpl

        public EntryFactoryImpl()
    • Method Detail

      • init

        public void init()
      • wrapEntryForReading

        public final void wrapEntryForReading​(InvocationContext ctx,
                                              Object key,
                                              int segment,
                                              boolean isOwner)
        Description copied from interface: EntryFactory
        Wraps an entry for reading. Usually this is just a raw CacheEntry but certain combinations of isolation levels and the presence of an ongoing JTA transaction may force this to be a proper, wrapped MVCCEntry. The entry is also typically placed in the invocation context.
        Specified by:
        wrapEntryForReading in interface EntryFactory
        Parameters:
        ctx - current invocation context
        key - key to look up and wrap
        segment - segment for the key
        isOwner - true if this node is current owner in readCH (or we ignore CH)
      • wrapEntryForWriting

        public void wrapEntryForWriting​(InvocationContext ctx,
                                        Object key,
                                        int segment,
                                        boolean isOwner,
                                        boolean isRead)
        Description copied from interface: EntryFactory
        Insert an entry that exists in the data container into the context. Doesn't do anything if the key was already wrapped.
        Specified by:
        wrapEntryForWriting in interface EntryFactory
        Parameters:
        ctx - current invocation context
        key - key to look up and wrap
        segment - segment for the key
        isOwner - true if this node is current owner in readCH (or we ignore CH)
        isRead - true if this operation is expected to read the value of the entry
      • wrapEntryForExpired

        public void wrapEntryForExpired​(InvocationContext ctx,
                                        Object key,
                                        int segment,
                                        boolean isOwner)
        Description copied from interface: EntryFactory
        Insert an entry that exists in the data container into the context, even if it is expired Doesn't do anything if the key was already wrapped
        Specified by:
        wrapEntryForExpired in interface EntryFactory
        Parameters:
        ctx - current invocation context
        key - key to look up and wrap
        segment - segment for the key
        isOwner - true if this node is current owner in readCH (or we ignore CH)
      • wrapExternalEntry

        public void wrapExternalEntry​(InvocationContext ctx,
                                      Object key,
                                      CacheEntry externalEntry,
                                      boolean isRead,
                                      boolean isWrite)
        Description copied from interface: EntryFactory
        Insert an external entry (e.g. loaded from a cache loader or from a remote node) into the context.
        Specified by:
        wrapExternalEntry in interface EntryFactory
        Parameters:
        ctx - current invocation context
        key - key to look up and wrap
        externalEntry - the value to be inserted into context
        isRead - true if this operation is expected to read the value of the entry
        isWrite - if this is executed within a write command