All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.hotrod.event.ClientCacheEntryCreatedEvent Maven / Gradle / Ivy

There is a newer version: 14.0.32.Final
Show newest version
package org.infinispan.hotrod.event;

import org.infinispan.hotrod.impl.cache.RemoteCache;

/**
 * Client side cache entry created events provide information on the created
 * key, and the version of the entry. This version can be used to invoke conditional
 * operations on the server, such as
 * {@link RemoteCache#replaceWithVersion(Object, Object, long)}
 * or {@link RemoteCache#removeWithVersion(Object, long)}
 *
 * @param  type of key created.
 */
public interface ClientCacheEntryCreatedEvent extends ClientEvent {

   /**
    * Created cache entry's key.
    * @return an instance of the key with which a cache entry has been
    * created in the remote server(s).
    */
   K getKey();

   /**
    * Provides access to the version of the created cache entry. This version
    * can be used to invoke conditional operations on the server, such as
    * {@link RemoteCache#replaceWithVersion(Object, Object, long)}
    * or {@link RemoteCache#removeWithVersion(Object, long)}
    *
    * @return a long containing the version of the created cache entry.
    */
   long getVersion();

   /**
    * This will be true if the write command that caused this had to be retried
    * again due to a topology change.  This could be a sign that this event
    * has been duplicated or another event was dropped and replaced
    * (eg: ModifiedEvent replaced CreateEvent)
    *
    * @return Whether the command that caused this event was retried
    */
   boolean isCommandRetried();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy