+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
- * Copyright (C) 2003-2004, International Business Machines Corporation
+ ********************************************************************************
+ * Copyright (C) 2003-2008, International Business Machines Corporation
* and others. All Rights Reserved.
********************************************************************************
*
* <p>
* @internal
*/
-class U_I18N_API JapaneseCalendar : public GregorianCalendar {
+class JapaneseCalendar : public GregorianCalendar {
public:
/**
* Useful constants for JapaneseCalendar.
* @internal
*/
- static const uint32_t kCurrentEra; // the current era
+ U_I18N_API static uint32_t U_EXPORT2 getCurrentEra(void); // the current era
/**
* Constructs a JapaneseCalendar based on the current time in the default time zone
*/
virtual int32_t handleGetExtendedYear();
+ /**
+ * Return the maximum value that this field could have, given the current date.
+ * @internal
+ */
+ virtual int32_t getActualMaximum(UCalendarDateFields field, UErrorCode& status) const;
+
+
public:
/**
* Override Calendar Returns a unique class ID POLYMORPHICALLY. Pure virtual
* @return The class ID for all objects of this class.
* @internal
*/
- static UClassID U_EXPORT2 getStaticClassID(void);
+ U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void);
/**
* return the calendar type, "japanese".
* Called by computeJulianDay. Returns the default month (0-based) for the year,
* taking year and era into account. Will return the first month of the given era, if
* the current year is an ascension year.
+ * @param eyear the extended year
* @internal
*/
- virtual int32_t getDefaultMonthInYear();
+ virtual int32_t getDefaultMonthInYear(int32_t eyear);
/***
* Called by computeJulianDay. Returns the default day (1-based) for the month,
* taking currently-set year and era into account. Will return the first day of the given
* era, if the current month is an ascension year and month.
+ * @param eyear the extended year
+ * @param mon the month in the year
* @internal
*/
- virtual int32_t getDefaultDayInMonth(int32_t month);
+ virtual int32_t getDefaultDayInMonth(int32_t eyear, int32_t month);
};
U_NAMESPACE_END