src/share/classes/java/util/Calendar.java

Print this page




2682     private static void appendValue(StringBuilder sb, String item, boolean valid, long value) {
2683         sb.append(item).append('=');
2684         if (valid) {
2685             sb.append(value);
2686         } else {
2687             sb.append('?');
2688         }
2689     }
2690 
2691     /**
2692      * Both firstDayOfWeek and minimalDaysInFirstWeek are locale-dependent.
2693      * They are used to figure out the week count for a specific date for
2694      * a given locale. These must be set when a Calendar is constructed.
2695      * @param desiredLocale the given locale.
2696      */
2697     private void setWeekCountData(Locale desiredLocale)
2698     {
2699         /* try to get the Locale data from the cache */
2700         int[] data = cachedLocaleData.get(desiredLocale);
2701         if (data == null) {  /* cache miss */
2702             LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(CalendarDataProvider.class, desiredLocale);
2703             CalendarDataProvider provider = adapter.getCalendarDataProvider();
2704             data = new int[2];
2705             data[0] = provider.getFirstDayOfWeek(desiredLocale);
2706             data[1] = provider.getMinimalDaysInFirstWeek(desiredLocale);
2707             assert data[0] != 0 && data[1] != 0;
2708             cachedLocaleData.putIfAbsent(desiredLocale, data);
2709         }
2710         firstDayOfWeek = data[0];
2711         minimalDaysInFirstWeek = data[1];
2712     }
2713 
2714     /**
2715      * Recomputes the time and updates the status fields isTimeSet
2716      * and areFieldsSet.  Callers should check isTimeSet and only
2717      * call this method if isTimeSet is false.
2718      */
2719     private void updateTime() {
2720         computeTime();
2721         // The areFieldsSet and areAllFieldsSet values are no longer
2722         // controlled here (as of 1.5).
2723         isTimeSet = true;
2724     }
2725 
2726     private int compareTo(long t) {
2727         long thisTime = getMillisOf(this);




2682     private static void appendValue(StringBuilder sb, String item, boolean valid, long value) {
2683         sb.append(item).append('=');
2684         if (valid) {
2685             sb.append(value);
2686         } else {
2687             sb.append('?');
2688         }
2689     }
2690 
2691     /**
2692      * Both firstDayOfWeek and minimalDaysInFirstWeek are locale-dependent.
2693      * They are used to figure out the week count for a specific date for
2694      * a given locale. These must be set when a Calendar is constructed.
2695      * @param desiredLocale the given locale.
2696      */
2697     private void setWeekCountData(Locale desiredLocale)
2698     {
2699         /* try to get the Locale data from the cache */
2700         int[] data = cachedLocaleData.get(desiredLocale);
2701         if (data == null) {  /* cache miss */


2702             data = new int[2];
2703             data[0] = CalendarDataUtility.retrieveFirstDayOfWeek(desiredLocale);
2704             data[1] = CalendarDataUtility.retrieveMinimalDaysInFirstWeek(desiredLocale);

2705             cachedLocaleData.putIfAbsent(desiredLocale, data);
2706         }
2707         firstDayOfWeek = data[0];
2708         minimalDaysInFirstWeek = data[1];
2709     }
2710 
2711     /**
2712      * Recomputes the time and updates the status fields isTimeSet
2713      * and areFieldsSet.  Callers should check isTimeSet and only
2714      * call this method if isTimeSet is false.
2715      */
2716     private void updateTime() {
2717         computeTime();
2718         // The areFieldsSet and areAllFieldsSet values are no longer
2719         // controlled here (as of 1.5).
2720         isTimeSet = true;
2721     }
2722 
2723     private int compareTo(long t) {
2724         long thisTime = getMillisOf(this);