Package org.apache.storm.starter.tools

# Class SlotBasedCounter<T>

java.lang.Object
org.apache.storm.starter.tools.SlotBasedCounter<T>

Type Parameters:
  `T` - The type of those objects we want to count.

All Implemented Interfaces:
  `Serializable`

public final class SlotBasedCounter<T> extends Object implements Serializable
This class provides per-slot counts of the occurrences of objects.

It can be used, for instance, as a building block for implementing sliding window counting of objects.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SlotBasedCounter(int numSlots)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getCount(T obj, int slot)`
  `Map<T,Long>`
  `getCounts()`
  `void`
  `incrementCount(T obj, int slot)`
  `void`
  `wipeSlot(int slot)`
  Reset the slot count of any tracked objects to zero for the given slot.
  `void`
  `wipeZeros()`
  Remove any object from the counter whose total count is zero (to free up memory).

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### SlotBasedCounter

    public SlotBasedCounter(int numSlots)

- ## Method Details

  - ### incrementCount

    public void incrementCount(T obj, int slot)

  - ### getCount

    public long getCount(T obj, int slot)

  - ### getCounts

    public Map<T,Long> getCounts()

  - ### wipeSlot

    public void wipeSlot(int slot)
    Reset the slot count of any tracked objects to zero for the given slot.

  - ### wipeZeros

    public void wipeZeros()
    Remove any object from the counter whose total count is zero (to free up memory).