Class IntGauge

java.lang.Object
com.pnfsoftware.jeb.util.collect.IntGauge

public class IntGauge extends Object
An integer gauge is used to define an integer range to be filled. The range must be reasonably small (for larger ranges (million+), a custom implementation relying ISegmentMap may be better suited in terms of memory usage).

Example:
- a range [20, 100] is specified
- calls to record may be used to record partial filling of the gauge:
record(10, 30), record(56, 60), record(0, 10)
- the order of the fillings does not matter; however, overlaps are not allowed:
e.g. if the sub-range [10,30[ was recorded and is present, adding a range [25,40[ would be rejected (record() would return false)
- when the gauge is complete, isComplete() returns true

  • Constructor Details

    • IntGauge

      public IntGauge(int size)
      Create a gauge whose range goes from 0 to size. The range must be reasonably small (recommendation: less than 1M).
      Parameters:
      size -
    • IntGauge

      public IntGauge(int begin, int end)
      Create a gauge whose range goes from begin to end (exclusive). The range must be reasonably small (recommendation: less than 1M).
      Parameters:
      begin -
      end -
  • Method Details

    • clear

      public void clear()
    • getBegin

      public int getBegin()
    • getEnd

      public int getEnd()
    • record

      public boolean record(int begin, int end)
    • getRemaining

      public int getRemaining()
    • isComplete

      public boolean isComplete()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object