public void ResourcePresence(Era era) { Assert.NotNull(PatternResources.ResourceManager.GetString(era.ResourceIdentifier, CultureInfo.InvariantCulture), "Missing resource for " + era.ResourceIdentifier); }
private CalendarSystem(CalendarOrdinal ordinal, string id, string name, YearMonthDayCalculator yearMonthDayCalculator, Era singleEra) : this(ordinal, id, name, yearMonthDayCalculator, 4, new SingleEraCalculator(singleEra, yearMonthDayCalculator)) { }
internal BasicSingleEraDateTimeField(Era era) : base(DateTimeFieldType.Era, UnsupportedDurationField.Eras) { this.era = era; }
internal override int GetMinYearOfEra(Era era) { ValidateEra(era); return(minYear); }
internal SingleEraCalculator(Era era, YearMonthDayCalculator ymdCalculator) : base(era) { minYear = ymdCalculator.MinYear; maxYear = ymdCalculator.MaxYear; this.era = era; }
internal override int GetAbsoluteYear(int yearOfEra, Era era) { ValidateEra(era); Preconditions.CheckArgumentRange(nameof(yearOfEra), yearOfEra, minYear, maxYear); return(yearOfEra); }
internal abstract int GetMaxYearOfEra(Era era);
internal abstract int GetAbsoluteYear(int yearOfEra, Era era);
internal override int GetMinYearOfEra([NotNull] Era era) { ValidateEra(era); return(1); }
internal override int GetMaxYearOfEra([NotNull] Era era) { ValidateEra(era); return(era == Era.Common ? maxYearOfAd : maxYearOfBc); }
/// <summary> /// Convenience method to perform nullity and validity checking on the era, converting it to /// the index within the list of eras supported by this calendar system. /// </summary> private int GetEraIndex(Era era) { if (era == null) { throw new ArgumentNullException("era"); } int index = Eras.IndexOf(era); if (index == -1) { throw new ArgumentException("Era does not belong to this calendar", "era"); } return index; }
/// <summary> /// Returns the minimum valid year in the given era. /// </summary> /// <param name="era">The era in which to find the greatest year</param> /// <returns>The minimum valid year in the given eraera.</returns> /// <exception cref="ArgumentNullException"><paramref name="era"/> is null</exception> /// <exception cref="ArgumentException"><paramref name="era"/> is not an era of this calendar</exception> public int GetMinYearOfEra(Era era) { return GetMinYearOfEra(GetEraIndex(era)); }
/// <summary> /// Returns the "absolute year" (the one used throughout most of the API, without respect to eras) /// from a year-of-era and an era. /// </summary> /// <param name="yearOfEra">The year within the era.</param> /// <param name="era">The era in which to consider the year</param> /// <returns>The absolute year represented by the specified year of era.</returns> /// <exception cref="ArgumentNullException"><paramref name="era"/> is null</exception> /// <exception cref="ArgumentOutOfRangeException"><paramref name="yearOfEra"/> is out of the range of years for the given era</exception> /// <exception cref="ArgumentException"><paramref name="era"/> is not an era of this calendar</exception> public int GetAbsoluteYear(int yearOfEra, Era era) { return GetAbsoluteYear(yearOfEra, GetEraIndex(era)); }
internal abstract int GetAbsoluteYear(int yearOfEra, [NotNull] Era era);
internal abstract int GetMaxYearOfEra([NotNull] Era era);