Class ValueWatcher

java.lang.Object
uk.ac.starlink.util.ValueWatcher

public class ValueWatcher extends Object
Looks out for an unused value in a sequence of submitted numbers. This can be used to identify a suitable 'magic' representation for a bad value.
Since:
22 Jun 2006
Author:
Mark Taylor
  • Constructor Details

    • ValueWatcher

      public ValueWatcher(long loBound, long hiBound)
      Constructs a ValueWatcher which will look out for values in the range covered by loBound and hiBound inclusive. These shouldn't be arbitrarily far apart - storage of up to about one bit per value in the range will be required.
      Parameters:
      loBound - lower bound to watch for (inclusive)
      hiBound - upper bound to watch for (inclusive)
  • Method Details

    • useValue

      public void useValue(long val)
      Takes note of a value. val will never subsequently be returned from getUnused().
      Parameters:
      val - value to note
    • getUnused

      public Long getUnused()
      Returns a value in the range loBound..hiBound which has never been sumitted to useValue(long). If there is no such value, returns null.
      Returns:
      unused value in range