Class UnsupportedDurationField

java.lang.Object
org.joda.time.DurationField
org.joda.time.field.UnsupportedDurationField
All Implemented Interfaces:
Serializable, Comparable<DurationField>

public final class UnsupportedDurationField extends DurationField implements Serializable
A placeholder implementation to use when a duration field is not supported.

UnsupportedDurationField is thread-safe and immutable.

Since:
1.0
See Also:
  • Field Details

  • Constructor Details

    • UnsupportedDurationField

      private UnsupportedDurationField(DurationFieldType type)
      Constructor.
      Parameters:
      type - the type to use
  • Method Details

    • getInstance

      public static UnsupportedDurationField getInstance(DurationFieldType type)
      Gets an instance of UnsupportedDurationField for a specific named field. The returned instance is cached.
      Parameters:
      type - the type to obtain
      Returns:
      the instance
    • getType

      public final DurationFieldType getType()
      Description copied from class: DurationField
      Get the type of the field.
      Specified by:
      getType in class DurationField
      Returns:
      field type
    • getName

      public String getName()
      Description copied from class: DurationField
      Get the name of the field.

      By convention, names are plural.

      Specified by:
      getName in class DurationField
      Returns:
      field name
    • isSupported

      public boolean isSupported()
      This field is not supported.
      Specified by:
      isSupported in class DurationField
      Returns:
      false always
    • isPrecise

      public boolean isPrecise()
      This field is precise.
      Specified by:
      isPrecise in class DurationField
      Returns:
      true always
      See Also:
    • getValue

      public int getValue(long duration)
      Always throws UnsupportedOperationException
      Specified by:
      getValue in class DurationField
      Parameters:
      duration - the milliseconds to query, which may be negative
      Returns:
      the value of the field, in the units of the field, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getValueAsLong

      public long getValueAsLong(long duration)
      Always throws UnsupportedOperationException
      Specified by:
      getValueAsLong in class DurationField
      Parameters:
      duration - the milliseconds to query, which may be negative
      Returns:
      the value of the field, in the units of the field, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getValue

      public int getValue(long duration, long instant)
      Always throws UnsupportedOperationException
      Specified by:
      getValue in class DurationField
      Parameters:
      duration - the milliseconds to query, which may be negative
      instant - the start instant to calculate relative to
      Returns:
      the value of the field, in the units of the field, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getValueAsLong

      public long getValueAsLong(long duration, long instant)
      Always throws UnsupportedOperationException
      Specified by:
      getValueAsLong in class DurationField
      Parameters:
      duration - the milliseconds to query, which may be negative
      instant - the start instant to calculate relative to
      Returns:
      the value of the field, in the units of the field, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getMillis

      public long getMillis(int value)
      Always throws UnsupportedOperationException
      Specified by:
      getMillis in class DurationField
      Parameters:
      value - the value of the field, which may be negative
      Returns:
      the milliseconds that the field represents, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getMillis

      public long getMillis(long value)
      Always throws UnsupportedOperationException
      Specified by:
      getMillis in class DurationField
      Parameters:
      value - the value of the field, which may be negative
      Returns:
      the milliseconds that the field represents, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getMillis

      public long getMillis(int value, long instant)
      Always throws UnsupportedOperationException as this is not supported
      Specified by:
      getMillis in class DurationField
      Parameters:
      value - the value of the field, which may be negative
      instant - the instant to calculate relative to
      Returns:
      the millisecond duration that the field represents, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • getMillis

      public long getMillis(long value, long instant)
      Always throws UnsupportedOperationException
      Specified by:
      getMillis in class DurationField
      Parameters:
      value - the value of the field, which may be negative
      instant - the instant to calculate relative to
      Returns:
      the millisecond duration that the field represents, which may be negative
      Throws:
      UnsupportedOperationException - as this is not supported
    • add

      public long add(long instant, int value)
      Always throws UnsupportedOperationException
      Specified by:
      add in class DurationField
      Parameters:
      instant - the milliseconds from 1970-01-01T00:00:00Z to add to
      value - the value to add, in the units of the field
      Returns:
      the updated milliseconds
      Throws:
      UnsupportedOperationException - as this is not supported
    • add

      public long add(long instant, long value)
      Always throws UnsupportedOperationException
      Specified by:
      add in class DurationField
      Parameters:
      instant - the milliseconds from 1970-01-01T00:00:00Z to add to
      value - the value to add, in the units of the field
      Returns:
      the updated milliseconds
      Throws:
      UnsupportedOperationException - as this is not supported
    • getDifference

      public int getDifference(long minuendInstant, long subtrahendInstant)
      Always throws UnsupportedOperationException
      Specified by:
      getDifference in class DurationField
      Parameters:
      minuendInstant - the milliseconds from 1970-01-01T00:00:00Z to subtract from
      subtrahendInstant - the milliseconds from 1970-01-01T00:00:00Z to subtract off the minuend
      Returns:
      the difference in the units of this field
      Throws:
      UnsupportedOperationException - as this is not supported
    • getDifferenceAsLong

      public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant)
      Always throws UnsupportedOperationException
      Specified by:
      getDifferenceAsLong in class DurationField
      Parameters:
      minuendInstant - the milliseconds from 1970-01-01T00:00:00Z to subtract from
      subtrahendInstant - the milliseconds from 1970-01-01T00:00:00Z to subtract off the minuend
      Returns:
      the difference in the units of this field
      Throws:
      UnsupportedOperationException - as this is not supported
    • getUnitMillis

      public long getUnitMillis()
      Always returns zero.
      Specified by:
      getUnitMillis in class DurationField
      Returns:
      zero always
      See Also:
    • compareTo

      public int compareTo(DurationField durationField)
      Always returns zero, indicating that sort order is not relevant.
      Specified by:
      compareTo in interface Comparable<DurationField>
      Returns:
      zero always
    • equals

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

      public int hashCode()
      Gets a suitable hashcode.
      Overrides:
      hashCode in class Object
      Returns:
      the hashcode
    • toString

      public String toString()
      Get a suitable debug string.
      Specified by:
      toString in class DurationField
      Returns:
      debug string
    • readResolve

      private Object readResolve()
      Ensure proper singleton serialization
    • unsupported

      private UnsupportedOperationException unsupported()