Class BaseSingleFieldPeriod

    • Method Detail

      • getFieldType

        public abstract DurationFieldType getFieldType()
        Gets the single duration field type.
        Returns:
        the duration field type, not null
      • getPeriodType

        public abstract PeriodType getPeriodType()
        Gets the period type which matches the duration field type.
        Specified by:
        getPeriodType in interface ReadablePeriod
        Returns:
        the period type, not null
      • size

        public int size()
        Gets the number of fields that this period supports, which is one.
        Specified by:
        size in interface ReadablePeriod
        Returns:
        the number of fields supported, which is one
      • getFieldType

        public DurationFieldType getFieldType​(int index)
        Gets the field type at the specified index.

        The only index supported by this period is zero which returns the field type of this class.

        Specified by:
        getFieldType in interface ReadablePeriod
        Parameters:
        index - the index to retrieve, which must be zero
        Returns:
        the field at the specified index
        Throws:
        IndexOutOfBoundsException - if the index is invalid
      • getValue

        public int getValue​(int index)
        Gets the value at the specified index.

        The only index supported by this period is zero.

        Specified by:
        getValue in interface ReadablePeriod
        Parameters:
        index - the index to retrieve, which must be zero
        Returns:
        the value of the field at the specified index
        Throws:
        IndexOutOfBoundsException - if the index is invalid
      • get

        public int get​(DurationFieldType type)
        Gets the value of a duration field represented by this period.

        If the field type specified does not match the type used by this class then zero is returned.

        Specified by:
        get in interface ReadablePeriod
        Parameters:
        type - the field type to query, null returns zero
        Returns:
        the value of that field, zero if field not supported
      • isSupported

        public boolean isSupported​(DurationFieldType type)
        Checks whether the duration field specified is supported by this period.
        Specified by:
        isSupported in interface ReadablePeriod
        Parameters:
        type - the type to check, may be null which returns false
        Returns:
        true if the field is supported
      • toPeriod

        public Period toPeriod()
        Get this period as an immutable Period object. The period will use PeriodType.standard().
        Specified by:
        toPeriod in interface ReadablePeriod
        Returns:
        a Period representing the same number of days
      • toMutablePeriod

        public MutablePeriod toMutablePeriod()
        Get this object as a MutablePeriod.

        This will always return a new MutablePeriod with the same fields. The period will use PeriodType.standard().

        Specified by:
        toMutablePeriod in interface ReadablePeriod
        Returns:
        a MutablePeriod using the same field set and values
      • equals

        public boolean equals​(Object period)
        Compares this object with the specified object for equality based on the value of each field. All ReadablePeriod instances are accepted, but only those with a matching PeriodType can return true.
        Specified by:
        equals in interface ReadablePeriod
        Overrides:
        equals in class Object
        Parameters:
        period - a readable period to check against
        Returns:
        true if all the field values are equal, false if not or the period is null or of an incorrect type
      • hashCode

        public int hashCode()
        Gets a hash code for the period as defined by ReadablePeriod.
        Specified by:
        hashCode in interface ReadablePeriod
        Overrides:
        hashCode in class Object
        Returns:
        a hash code