< prev index next >

src/java.base/share/classes/java/time/chrono/HijrahDate.java

Print this page




 351                 ChronoField f = (ChronoField) field;
 352                 switch (f) {
 353                     case DAY_OF_MONTH: return ValueRange.of(1, lengthOfMonth());
 354                     case DAY_OF_YEAR: return ValueRange.of(1, lengthOfYear());
 355                     case ALIGNED_WEEK_OF_MONTH: return ValueRange.of(1, 5);  // TODO
 356                     // TODO does the limited range of valid years cause years to
 357                     // start/end part way through? that would affect range
 358                 }
 359                 return getChronology().range(f);
 360             }
 361             throw new UnsupportedTemporalTypeException("Unsupported field: " + field);
 362         }
 363         return field.rangeRefinedBy(this);
 364     }
 365 
 366     @Override
 367     public long getLong(TemporalField field) {
 368         if (field instanceof ChronoField) {
 369             switch ((ChronoField) field) {
 370                 case DAY_OF_WEEK: return getDayOfWeek();
 371                 case ALIGNED_DAY_OF_WEEK_IN_MONTH: return ((getDayOfWeek() - 1) % 7) + 1;
 372                 case ALIGNED_DAY_OF_WEEK_IN_YEAR: return ((getDayOfYear() - 1) % 7) + 1;
 373                 case DAY_OF_MONTH: return this.dayOfMonth;
 374                 case DAY_OF_YEAR: return this.getDayOfYear();
 375                 case EPOCH_DAY: return toEpochDay();
 376                 case ALIGNED_WEEK_OF_MONTH: return ((dayOfMonth - 1) / 7) + 1;
 377                 case ALIGNED_WEEK_OF_YEAR: return ((getDayOfYear() - 1) / 7) + 1;
 378                 case MONTH_OF_YEAR: return monthOfYear;
 379                 case PROLEPTIC_MONTH: return getProlepticMonth();
 380                 case YEAR_OF_ERA: return prolepticYear;
 381                 case YEAR: return prolepticYear;
 382                 case ERA: return getEraValue();
 383             }
 384             throw new UnsupportedTemporalTypeException("Unsupported field: " + field);
 385         }
 386         return field.getFrom(this);
 387     }
 388 
 389     private long getProlepticMonth() {
 390         return prolepticYear * 12L + monthOfYear - 1;
 391     }




 351                 ChronoField f = (ChronoField) field;
 352                 switch (f) {
 353                     case DAY_OF_MONTH: return ValueRange.of(1, lengthOfMonth());
 354                     case DAY_OF_YEAR: return ValueRange.of(1, lengthOfYear());
 355                     case ALIGNED_WEEK_OF_MONTH: return ValueRange.of(1, 5);  // TODO
 356                     // TODO does the limited range of valid years cause years to
 357                     // start/end part way through? that would affect range
 358                 }
 359                 return getChronology().range(f);
 360             }
 361             throw new UnsupportedTemporalTypeException("Unsupported field: " + field);
 362         }
 363         return field.rangeRefinedBy(this);
 364     }
 365 
 366     @Override
 367     public long getLong(TemporalField field) {
 368         if (field instanceof ChronoField) {
 369             switch ((ChronoField) field) {
 370                 case DAY_OF_WEEK: return getDayOfWeek();
 371                 case ALIGNED_DAY_OF_WEEK_IN_MONTH: return ((dayOfMonth - 1) % 7) + 1;
 372                 case ALIGNED_DAY_OF_WEEK_IN_YEAR: return ((getDayOfYear() - 1) % 7) + 1;
 373                 case DAY_OF_MONTH: return this.dayOfMonth;
 374                 case DAY_OF_YEAR: return this.getDayOfYear();
 375                 case EPOCH_DAY: return toEpochDay();
 376                 case ALIGNED_WEEK_OF_MONTH: return ((dayOfMonth - 1) / 7) + 1;
 377                 case ALIGNED_WEEK_OF_YEAR: return ((getDayOfYear() - 1) / 7) + 1;
 378                 case MONTH_OF_YEAR: return monthOfYear;
 379                 case PROLEPTIC_MONTH: return getProlepticMonth();
 380                 case YEAR_OF_ERA: return prolepticYear;
 381                 case YEAR: return prolepticYear;
 382                 case ERA: return getEraValue();
 383             }
 384             throw new UnsupportedTemporalTypeException("Unsupported field: " + field);
 385         }
 386         return field.getFrom(this);
 387     }
 388 
 389     private long getProlepticMonth() {
 390         return prolepticYear * 12L + monthOfYear - 1;
 391     }


< prev index next >