Class BaseInterval

java.lang.Object
org.joda.time.base.AbstractInterval
org.joda.time.base.BaseInterval
All Implemented Interfaces:
Serializable, ReadableInterval
Direct Known Subclasses:
Interval, MutableInterval

public abstract class BaseInterval extends AbstractInterval implements ReadableInterval, Serializable
BaseInterval is an abstract implementation of ReadableInterval that stores data in two long millisecond fields.

This class should generally not be used directly by API users. The ReadableInterval interface should be used when different kinds of interval objects are to be referenced.

BaseInterval subclasses may be mutable and not thread-safe.

Since:
1.0
Author:
Brian S O'Neill, Sean Geoghegan, Stephen Colebourne
See Also:
  • Constructor Details

    • BaseInterval

      protected BaseInterval(long startInstant, long endInstant, Chronology chrono)
      Constructs an interval from a start and end instant.
      Parameters:
      startInstant - start of this interval, as milliseconds from 1970-01-01T00:00:00Z.
      endInstant - end of this interval, as milliseconds from 1970-01-01T00:00:00Z.
      chrono - the chronology to use, null is ISO default
      Throws:
      IllegalArgumentException - if the end is before the start
    • BaseInterval

      protected BaseInterval(ReadableInstant start, ReadableInstant end)
      Constructs an interval from a start and end instant.
      Parameters:
      start - start of this interval, null means now
      end - end of this interval, null means now
      Throws:
      IllegalArgumentException - if the end is before the start
    • BaseInterval

      protected BaseInterval(ReadableInstant start, ReadableDuration duration)
      Constructs an interval from a start instant and a duration.
      Parameters:
      start - start of this interval, null means now
      duration - the duration of this interval, null means zero length
      Throws:
      IllegalArgumentException - if the end is before the start
      ArithmeticException - if the end instant exceeds the capacity of a long
    • BaseInterval

      protected BaseInterval(ReadableDuration duration, ReadableInstant end)
      Constructs an interval from a millisecond duration and an end instant.
      Parameters:
      duration - the duration of this interval, null means zero length
      end - end of this interval, null means now
      Throws:
      IllegalArgumentException - if the end is before the start
      ArithmeticException - if the start instant exceeds the capacity of a long
    • BaseInterval

      protected BaseInterval(ReadableInstant start, ReadablePeriod period)
      Constructs an interval from a start instant and a time period.

      When forming the interval, the chronology from the instant is used if present, otherwise the chronology of the period is used.

      Parameters:
      start - start of this interval, null means now
      period - the period of this interval, null means zero length
      Throws:
      IllegalArgumentException - if the end is before the start
      ArithmeticException - if the end instant exceeds the capacity of a long
    • BaseInterval

      protected BaseInterval(ReadablePeriod period, ReadableInstant end)
      Constructs an interval from a time period and an end instant.

      When forming the interval, the chronology from the instant is used if present, otherwise the chronology of the period is used.

      Parameters:
      period - the period of this interval, null means zero length
      end - end of this interval, null means now
      Throws:
      IllegalArgumentException - if the end is before the start
      ArithmeticException - if the start instant exceeds the capacity of a long
    • BaseInterval

      protected BaseInterval(Object interval, Chronology chrono)
      Constructs a time interval converting or copying from another object that describes an interval.
      Parameters:
      interval - the time interval to copy
      chrono - the chronology to use, null means let converter decide
      Throws:
      IllegalArgumentException - if the interval is invalid
  • Method Details

    • getChronology

      public Chronology getChronology()
      Gets the chronology of this interval.
      Specified by:
      getChronology in interface ReadableInterval
      Returns:
      the chronology
    • getStartMillis

      public long getStartMillis()
      Gets the start of this time interval which is inclusive.
      Specified by:
      getStartMillis in interface ReadableInterval
      Returns:
      the start of the time interval, millisecond instant from 1970-01-01T00:00:00Z
    • getEndMillis

      public long getEndMillis()
      Gets the end of this time interval which is exclusive.
      Specified by:
      getEndMillis in interface ReadableInterval
      Returns:
      the end of the time interval, millisecond instant from 1970-01-01T00:00:00Z
    • setInterval

      protected void setInterval(long startInstant, long endInstant, Chronology chrono)
      Sets this interval from two millisecond instants and a chronology.
      Parameters:
      startInstant - the start of the time interval
      endInstant - the start of the time interval
      chrono - the chronology, not null
      Throws:
      IllegalArgumentException - if the end is before the start