Class BaseInterval

  • All Implemented Interfaces:
    java.io.Serializable, ReadableInterval
    Direct Known Subclasses:
    Interval, MutableInterval

    public abstract class BaseInterval
    extends AbstractInterval
    implements ReadableInterval, java.io.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
    See Also:
    Serialized Form
    • Constructor Detail

      • 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:
        java.lang.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:
        java.lang.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:
        java.lang.IllegalArgumentException - if the end is before the start
        java.lang.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:
        java.lang.IllegalArgumentException - if the end is before the start
        java.lang.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:
        java.lang.IllegalArgumentException - if the end is before the start
        java.lang.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:
        java.lang.IllegalArgumentException - if the end is before the start
        java.lang.ArithmeticException - if the start instant exceeds the capacity of a long
      • BaseInterval

        protected BaseInterval​(java.lang.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:
        java.lang.IllegalArgumentException - if the interval is invalid
    • Method Detail

      • 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:
        java.lang.IllegalArgumentException - if the end is before the start