Class EvictableDataContainer<K,V>

java.lang.Object
org.infinispan.container.impl.AbstractInternalDataContainer<K,V>
org.wildfly.clustering.cache.infinispan.embedded.container.EvictableDataContainer<K,V>
Type Parameters:
K - the container key type
V - the container value type
All Implemented Interfaces:
Iterable<org.infinispan.container.entries.InternalCacheEntry<K,V>>, org.infinispan.container.DataContainer<K,V>, org.infinispan.container.impl.InternalDataContainer<K,V>

public class EvictableDataContainer<K,V> extends org.infinispan.container.impl.AbstractInternalDataContainer<K,V>
Copy of DefaultDataContainer with support for time-based eviction. Unfortunately, due to inflexible constructors and package protected fields, we cannot simply extend DefaultDataContainer.
Author:
Paul Ferraro
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.infinispan.container.impl.AbstractInternalDataContainer

    org.infinispan.container.impl.AbstractInternalDataContainer.EntryIterator

    Nested classes/interfaces inherited from interface org.infinispan.container.DataContainer

    org.infinispan.container.DataContainer.ComputeAction<K,V>
  • Field Summary

    Fields inherited from class org.infinispan.container.impl.AbstractInternalDataContainer

    configuration, entryFactory, evictionManager, expirationManager, keyPartitioner, listeners, orderer, passivator, timeService
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addSegments(org.infinispan.commons.util.IntSet segments)
     
    long
     
    void
     
    void
     
    void
    clear(org.infinispan.commons.util.IntSet segments)
     
    long
     
    void
    forEachSegment(ObjIntConsumer<org.infinispan.container.impl.PeekableTouchableMap<K,V>> segmentMapConsumer)
     
    protected org.infinispan.container.impl.PeekableTouchableMap<K,V>
    getMapForSegment(int segment)
     
    protected int
     
    Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
     
    Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
    iterator(org.infinispan.commons.util.IntSet segments)
     
    Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
     
    Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
    iteratorIncludingExpired(org.infinispan.commons.util.IntSet segments)
     
    org.reactivestreams.Publisher<org.infinispan.container.entries.InternalCacheEntry<K,V>>
    publisher(org.infinispan.commons.util.IntSet segments)
     
    void
    removeSegments(org.infinispan.commons.util.IntSet segments)
     
    void
    resize(long newSize)
     
    int
     
    Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
     
    Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
    spliterator(org.infinispan.commons.util.IntSet segments)
     
    Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
     
    Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>>
    spliteratorIncludingExpired(org.infinispan.commons.util.IntSet segments)
     

    Methods inherited from class org.infinispan.container.impl.AbstractInternalDataContainer

    addRemovalListener, applyListener, compute, compute, computeEntryRemoved, computeEntryWritten, containsKey, containsKey, entryAdded, entryRemoved, entryUpdated, evict, evict, expiredIterationPredicate, filterExpiredEntries, get, get, handleEviction, hasExpirable, peek, peek, put, put, putEntryInMap, remove, remove, removeEntryInMap, removeRemovalListener, segmentRemoved, touch

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.infinispan.container.DataContainer

    size

    Methods inherited from interface org.infinispan.container.impl.InternalDataContainer

    forEach, publisher, size, sizeIncludingExpired

    Methods inherited from interface Iterable

    forEach
  • Method Details

    • getMapForSegment

      protected org.infinispan.container.impl.PeekableTouchableMap<K,V> getMapForSegment(int segment)
      Specified by:
      getMapForSegment in class org.infinispan.container.impl.AbstractInternalDataContainer<K,V>
    • getSegmentForKey

      protected int getSegmentForKey(Object key)
      Specified by:
      getSegmentForKey in class org.infinispan.container.impl.AbstractInternalDataContainer<K,V>
    • sizeIncludingExpired

      public int sizeIncludingExpired()
    • clear

      public void clear(org.infinispan.commons.util.IntSet segments)
      Specified by:
      clear in interface org.infinispan.container.impl.InternalDataContainer<K,V>
      Overrides:
      clear in class org.infinispan.container.impl.AbstractInternalDataContainer<K,V>
    • clear

      public void clear()
    • publisher

      public org.reactivestreams.Publisher<org.infinispan.container.entries.InternalCacheEntry<K,V>> publisher(org.infinispan.commons.util.IntSet segments)
    • iterator

      public Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> iterator()
    • iterator

      public Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> iterator(org.infinispan.commons.util.IntSet segments)
    • spliterator

      public Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> spliterator()
    • spliterator

      public Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> spliterator(org.infinispan.commons.util.IntSet segments)
    • spliteratorIncludingExpired

      public Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> spliteratorIncludingExpired()
    • spliteratorIncludingExpired

      public Spliterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> spliteratorIncludingExpired(org.infinispan.commons.util.IntSet segments)
    • iteratorIncludingExpired

      public Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> iteratorIncludingExpired()
    • iteratorIncludingExpired

      public Iterator<org.infinispan.container.entries.InternalCacheEntry<K,V>> iteratorIncludingExpired(org.infinispan.commons.util.IntSet segments)
    • forEachSegment

      public void forEachSegment(ObjIntConsumer<org.infinispan.container.impl.PeekableTouchableMap<K,V>> segmentMapConsumer)
    • addSegments

      public void addSegments(org.infinispan.commons.util.IntSet segments)
    • removeSegments

      public void removeSegments(org.infinispan.commons.util.IntSet segments)
    • evictionSize

      public long evictionSize()
    • capacity

      public long capacity()
    • resize

      public void resize(long newSize)
    • cleanUp

      public void cleanUp()