Class AbstractReadableInstantFieldProperty

    • Constructor Detail

      • AbstractReadableInstantFieldProperty

        public AbstractReadableInstantFieldProperty()
        Constructor.
    • Method Detail

      • getField

        public abstract DateTimeField getField()
        Gets the field being used.
        Returns:
        the field
      • getFieldType

        public DateTimeFieldType getFieldType()
        Gets the field type being used.
        Returns:
        the field type
      • getName

        public String getName()
        Gets the name of the field.
        Returns:
        the field name
      • get

        public int get()
        Gets the value of this property from the instant.

        For example, the following two lines of code are equivalent:

         datetime.getDayOfMonth();
         datetime.dayOfMonth().get();
         
        Returns:
        the current value
        See Also:
        DateTimeField.get(long)
      • getAsString

        public String getAsString()
        Gets the value of this property from the instant as a string.

        This method returns the value converted to a String using Integer.toString. This method does NOT return textual descriptions such as 'Monday' or 'January'. See getAsText() and getAsShortText() for those.

        Returns:
        the current value
        Since:
        1.1
        See Also:
        DateTimeField.get(long)
      • getAsText

        public String getAsText()
        Gets the textual value of this property from the instant as a string in the default locale.

        This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Monday' in English.

        Returns:
        the current text value
        See Also:
        DateTimeField.getAsText(long, java.util.Locale)
      • getAsText

        public String getAsText​(Locale locale)
        Gets the textual value of this property from the instant as a string in the specified locale.

        This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Monday' in English.

        Parameters:
        locale - locale to use for selecting a text symbol, null means default
        Returns:
        the current text value
        See Also:
        DateTimeField.getAsText(long, java.util.Locale)
      • getAsShortText

        public String getAsShortText()
        Gets the short textual value of this property from the instant as a string in the default locale.

        This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Mon' in English.

        Returns:
        the current text value
        See Also:
        DateTimeField.getAsShortText(long, java.util.Locale)
      • getAsShortText

        public String getAsShortText​(Locale locale)
        Gets the short textual value of this property from the instant as a string in the specified locale.

        This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Mon' in English.

        Parameters:
        locale - locale to use for selecting a text symbol, null means default
        Returns:
        the current text value
        See Also:
        DateTimeField.getAsShortText(long, java.util.Locale)
      • getDifference

        public int getDifference​(ReadableInstant instant)
        Returns the difference between this field property instant and the one passed in, in the units of this field. The sign of the difference matches that of compareTo. In other words, this field property's instant is the minuend.
        Parameters:
        instant - the subtrahend, null means now
        Returns:
        the difference in the units of this field
        See Also:
        DateTimeField.getDifference(long, long)
      • getDifferenceAsLong

        public long getDifferenceAsLong​(ReadableInstant instant)
        Returns the difference between this field property instant and the one passed in, in the units of this field. The sign of the difference matches that of compareTo. In other words, this field property's instant is the minuend.
        Parameters:
        instant - the subtrahend, null means now
        Returns:
        the difference in the units of this field
        See Also:
        DateTimeField.getDifference(long, long)
      • getDurationField

        public DurationField getDurationField()
        Returns the duration per unit value of this field. For example, if this field represents "hour of day", then the duration is an hour.
        Returns:
        the duration of this field, or UnsupportedDurationField
      • getRangeDurationField

        public DurationField getRangeDurationField()
        Returns the range duration of this field. For example, if this field represents "hour of day", then the range duration is a day.
        Returns:
        the range duration of this field, or null if field has no range
      • isLeap

        public boolean isLeap()
        Gets whether this field is leap.
        Returns:
        true if a leap field
        See Also:
        DateTimeField.isLeap(long)
      • getLeapAmount

        public int getLeapAmount()
        Gets the amount by which this field is leap.
        Returns:
        the amount by which the field is leap
        See Also:
        DateTimeField.getLeapAmount(long)
      • getLeapDurationField

        public DurationField getLeapDurationField()
        If this field were to leap, then it would be in units described by the returned duration. If this field doesn't ever leap, null is returned.
      • getMinimumValueOverall

        public int getMinimumValueOverall()
        Gets the minimum value for the field ignoring the current time.
        Returns:
        the minimum value
        See Also:
        DateTimeField.getMinimumValue()
      • getMinimumValue

        public int getMinimumValue()
        Gets the minimum value for the field.
        Returns:
        the minimum value
        See Also:
        DateTimeField.getMinimumValue()
      • getMaximumValueOverall

        public int getMaximumValueOverall()
        Gets the maximum value for the field ignoring the current time.
        Returns:
        the maximum value
        See Also:
        DateTimeField.getMaximumValue()
      • getMaximumValue

        public int getMaximumValue()
        Gets the maximum value for the field.
        Returns:
        the maximum value
        See Also:
        DateTimeField.getMaximumValue()
      • remainder

        public long remainder()
        Returns the fractional duration milliseconds of this field.
        Returns:
        remainder duration, in milliseconds
        See Also:
        DateTimeField.remainder(long)
      • toInterval

        public Interval toInterval()
        Returns the interval that represents the range of the minimum and maximum values of this field.

        For example, datetime.monthOfYear().toInterval() will return an interval over the whole month.

        Returns:
        the interval of this field
        Since:
        1.2
      • compareTo

        public int compareTo​(ReadableInstant instant)
        Compare this field to the same field on another instant.

        The comparison is based on the value of the same field type, irrespective of any difference in chronology. Thus, if this property represents the hourOfDay field, then the hourOfDay field of the other instant will be queried whether in the same chronology or not.

        Parameters:
        instant - the instant to compare to
        Returns:
        negative value if this is less, 0 if equal, or positive value if greater
        Throws:
        IllegalArgumentException - if the instant is null
      • compareTo

        public int compareTo​(ReadablePartial partial)
        Compare this field to the same field on another partial instant.

        The comparison is based on the value of the same field type, irrespective of any difference in chronology. Thus, if this property represents the hourOfDay field, then the hourOfDay field of the other partial will be queried whether in the same chronology or not.

        Parameters:
        partial - the partial to compare to
        Returns:
        negative value if this is less, 0 if equal, or positive value if greater
        Throws:
        IllegalArgumentException - if the partial is null
        IllegalArgumentException - if the partial doesn't support this field
      • equals

        public boolean equals​(Object object)
        Compares this property to another.
        Overrides:
        equals in class Object
        Parameters:
        object - the object to compare to
        Returns:
        true if equal
      • hashCode

        public int hashCode()
        Returns a hashcode compatible with the equals method.
        Overrides:
        hashCode in class Object
        Returns:
        the hashcode
      • toString

        public String toString()
        Output a debugging string.
        Overrides:
        toString in class Object
        Returns:
        debugging string