Enum PersianEra

java.lang.Object
java.lang.Enum<PersianEra>
com.github.mfathi91.time.PersianEra
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<PersianEra>, java.lang.constant.Constable, java.time.chrono.Era, java.time.temporal.TemporalAccessor, java.time.temporal.TemporalAdjuster

@Immutable
public enum PersianEra
extends java.lang.Enum<PersianEra>
implements java.time.chrono.Era
An era in the Persian calendar system.

The Persian calendar system has only one era covering the proleptic years greater than zero.

Do not use ordinal() to obtain the numeric representation of PersianEra. Use getValue() instead.

This is an immutable and thread-safe enum.

Author:
Mahmoud Fathi
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    java.lang.Enum.EnumDesc<E extends java.lang.Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant Description
    AHS
    The singleton instance for the current era, 'Anno Hegirae Solar', which has the numeric value 1.
  • Method Summary

    Modifier and Type Method Description
    int getValue()
    Gets the numeric era int value.
    static PersianEra of​(int persianEra)
    Obtains an instance of PersianEra from an int value.
    java.time.temporal.ValueRange range​(java.time.temporal.TemporalField field)
    Gets the range of valid values for the specified field.
    static PersianEra valueOf​(java.lang.String name)
    Returns the enum constant of this type with the specified name.
    static PersianEra[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Enum

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.time.chrono.Era

    adjustInto, get, getDisplayName, getLong, isSupported, query
  • Enum Constant Details

    • AHS

      public static final PersianEra AHS
      The singleton instance for the current era, 'Anno Hegirae Solar', which has the numeric value 1.
  • Method Details

    • values

      public static PersianEra[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static PersianEra valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
      java.lang.NullPointerException - if the argument is null
    • of

      public static PersianEra of​(int persianEra)
      Obtains an instance of PersianEra from an int value.

      The current era, which is the only accepted value, has the value 1

      Parameters:
      persianEra - the era to represent, only 1 supported
      Returns:
      the PersianEra. AHS singleton, not null
      Throws:
      java.time.DateTimeException - if the value is invalid
    • getValue

      public int getValue()
      Gets the numeric era int value.

      The era AH has the value 1.

      Specified by:
      getValue in interface java.time.chrono.Era
      Returns:
      the era value, 1 (AH)
    • range

      public java.time.temporal.ValueRange range​(java.time.temporal.TemporalField field)
      Gets the range of valid values for the specified field.

      The range object expresses the minimum and maximum valid values for a field. This era is used to enhance the accuracy of the returned range. If it is not possible to return the range, because the field is not supported or for some other reason, an exception is thrown.

      If the field is a ChronoField then the query is implemented here. The ERA field returns the range. All other ChronoField instances will throw an UnsupportedTemporalTypeException.

      If the field is not a ChronoField, then the result of this method is obtained by invoking TemporalField.rangeRefinedBy(TemporalAccessor) passing this as the argument. Whether the range can be obtained is determined by the field.

      The ERA field returns a range for the one valid Persian era.

      Specified by:
      range in interface java.time.chrono.Era
      Specified by:
      range in interface java.time.temporal.TemporalAccessor
      Parameters:
      field - the field to query the range for, not null
      Returns:
      the range of valid values for the field, not null
      Throws:
      java.time.DateTimeException - if the range for the field cannot be obtained
      java.time.temporal.UnsupportedTemporalTypeException - if the unit is not supported