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

org.infinispan.container.entries.MVCCEntry Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.container.entries;

import org.infinispan.container.DataContainer;

/**
 * An entry that can be safely copied when updates are made, to provide MVCC semantics
 *
 * @author Manik Surtani
 * @since 4.0
 */
public interface MVCCEntry extends CacheEntry, StateChangingEntry {
   /**
    * @deprecated Since 8.0, use {@link #copyForUpdate()} instead.
    */
   @Deprecated
   default void copyForUpdate(DataContainer container) {
      copyForUpdate();
   }

   /**
    * Makes internal copies of the entry for updates
    */
   void copyForUpdate();

   void setChanged(boolean isChanged);

   /**
    * Marks this entry as being expired.  This is a special form of removal.
    * @param expired whether or not this entry should be expired
    */
   void setExpired(boolean expired);

   /**
    * Returns whether this entry was marked as being expired or not
    * @return whether expired has been set
    */
   boolean isExpired();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy