Interface IslamicCalendar.Algorithm

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void compute​(long julianDays, long current, java.util.function.IntConsumer yearConsumer, java.util.function.IntConsumer monthConsumer, java.util.function.IntConsumer dayOfMonthConsumer, java.util.function.IntConsumer dayOfYearConsumer)
      Compute the year, month, dayOfMonth, and dayOfYear of the given julian days and current time and feed the caculuated results to the consumers.
      long epoch()
      Return the epoch used by this algorithm.
      IslamicCalendar.CalculationType getType()
      Return the type the algorithm implement.
      boolean isCivil()
      Returns true if this object is using the fixed-cycle civil calendar, or false if using the religious, astronomical calendar.
      int monthLength​(int year, int month)
      Return the length (in days) of the given month.
      long monthStart​(int year, int month)
      Return the day # on which the given month starts.
      int yearLength​(int year)
      Return the length (in days) of the given year.
      long yearStart​(int year)
      Return the day # on which the given year starts.
    • Method Detail

      • isCivil

        boolean isCivil()
        Returns true if this object is using the fixed-cycle civil calendar, or false if using the religious, astronomical calendar.
      • epoch

        long epoch()
        Return the epoch used by this algorithm.
      • yearStart

        long yearStart​(int year)
        Return the day # on which the given year starts. Days are counted from the Hijri epoch, origin 0.
        Parameters:
        year - The hijri year
      • monthStart

        long monthStart​(int year,
                        int month)
        Return the day # on which the given month starts. Days are counted from the Hijri epoch, origin 0.
        Parameters:
        year - The hijri year
        month - The hijri month, 0-based
      • monthLength

        int monthLength​(int year,
                        int month)
        Return the length (in days) of the given month.
        Parameters:
        year - The hijri year
        month - The hijri month, 0-based
      • yearLength

        int yearLength​(int year)
        Return the length (in days) of the given year.
        Parameters:
        year - The hijri year
      • compute

        void compute​(long julianDays,
                     long current,
                     java.util.function.IntConsumer yearConsumer,
                     java.util.function.IntConsumer monthConsumer,
                     java.util.function.IntConsumer dayOfMonthConsumer,
                     java.util.function.IntConsumer dayOfYearConsumer)
        Compute the year, month, dayOfMonth, and dayOfYear of the given julian days and current time and feed the caculuated results to the consumers.
        Parameters:
        julianDays -
        current - the time in millisecond.
        yearConsumer - consumer to take the year result.
        monthConsumer - consumer to take the month result.
        dayOfMonthConsumer - consumer to take the dayOfMonth result.
        dayOfYearConsumer - consumer to take the dayOfYear result.