Class SleepStageInterval

java.lang.Object
com.codename1.health.SleepStageInterval

public final class SleepStageInterval extends Object
A contiguous span of one SleepStage inside a SleepSample.
  • Field Details

  • Constructor Details

    • SleepStageInterval

      public SleepStageInterval(SleepStageInterval other)

      A copy of other, carrying its platform code.

      Exists because the platform code is mutable, which is what made the shallow list copies visible: SleepSample.create(long, long) and HealthWire.copyOf copied the list and kept the elements, so a caller holding an interval it had written -- or one handed back by a read -- could change a stored record by setting a code on it, with no write and no persistence. The list being unmodifiable stopped the shape of the session changing and not the contents of its parts.

    • SleepStageInterval

      public SleepStageInterval(SleepStage stage, long startMillis, long endMillis)

      Creates a stage interval.

      Throws
      • IllegalArgumentException: if stage is null or the end precedes the start.
  • Method Details

    • getPlatformCode

      public int getPlatformCode()

      The raw platform value, or NO_PLATFORM_CODE.

      HKCategoryValueSleepAnalysis on iOS, the Health Connect stage constant on Android. Meaningless across platforms by design: read it only after checking which one you are on.

    • setPlatformCode

      public void setPlatformCode(int platformCode)
      Records the platform's own value. Called by ports while reading.
    • getStage

      public SleepStage getStage()
      The stage this span was classified as.
    • getStartMillis

      public long getStartMillis()
      Inclusive start, epoch millis UTC.
    • getEndMillis

      public long getEndMillis()
      Exclusive end, epoch millis UTC.
    • getDurationMillis

      public long getDurationMillis()
      The length of this span in milliseconds.
    • toString

      public String toString()
      Description copied from class: Object
      Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of: getClass().getName() + '@' + Integer.toHexString(hashCode())
      Overrides:
      toString in class Object