Package com.ibm.icu.util
Class IslamicCalendar.CivilAlgorithm
- java.lang.Object
-
- com.ibm.icu.util.IslamicCalendar.CivilAlgorithm
-
- All Implemented Interfaces:
IslamicCalendar.Algorithm
- Direct Known Subclasses:
IslamicCalendar.TBLAAlgorithm
- Enclosing class:
- IslamicCalendar
private static class IslamicCalendar.CivilAlgorithm extends java.lang.Object implements IslamicCalendar.Algorithm
Algorithm which implement the rules for CalculationType.ISLAMIC_CIVIL.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
CivilAlgorithm()
-
Method Summary
All Methods Instance Methods Concrete 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()
Returnstrue
if this object is using the fixed-cycle civil calendar, orfalse
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
public boolean isCivil()
Description copied from interface:IslamicCalendar.Algorithm
Returnstrue
if this object is using the fixed-cycle civil calendar, orfalse
if using the religious, astronomical calendar.- Specified by:
isCivil
in interfaceIslamicCalendar.Algorithm
-
getType
public IslamicCalendar.CalculationType getType()
Description copied from interface:IslamicCalendar.Algorithm
Return the type the algorithm implement.- Specified by:
getType
in interfaceIslamicCalendar.Algorithm
-
epoch
public long epoch()
Description copied from interface:IslamicCalendar.Algorithm
Return the epoch used by this algorithm.- Specified by:
epoch
in interfaceIslamicCalendar.Algorithm
-
yearStart
public long yearStart(int year)
Description copied from interface:IslamicCalendar.Algorithm
Return the day # on which the given year starts. Days are counted from the Hijri epoch, origin 0.- Specified by:
yearStart
in interfaceIslamicCalendar.Algorithm
- Parameters:
year
- The hijri year
-
monthStart
public long monthStart(int year, int month)
Description copied from interface:IslamicCalendar.Algorithm
Return the day # on which the given month starts. Days are counted from the Hijri epoch, origin 0.- Specified by:
monthStart
in interfaceIslamicCalendar.Algorithm
- Parameters:
year
- The hijri yearmonth
- The hijri month, 0-based
-
monthLength
public int monthLength(int year, int month)
Description copied from interface:IslamicCalendar.Algorithm
Return the length (in days) of the given month.- Specified by:
monthLength
in interfaceIslamicCalendar.Algorithm
- Parameters:
year
- The hijri yearmonth
- The hijri month, 0-based
-
yearLength
public int yearLength(int year)
Description copied from interface:IslamicCalendar.Algorithm
Return the length (in days) of the given year.- Specified by:
yearLength
in interfaceIslamicCalendar.Algorithm
- Parameters:
year
- The hijri year
-
compute
public 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)
Description copied from interface:IslamicCalendar.Algorithm
Compute the year, month, dayOfMonth, and dayOfYear of the given julian days and current time and feed the caculuated results to the consumers.- Specified by:
compute
in interfaceIslamicCalendar.Algorithm
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.
-
-