public KoreanDateTimePeriodParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

            if ((config.Options & DateTimeOptions.NoProtoCache) != 0)
            {
                numOptions = NumberOptions.NoProtoCache;
            }

            var numConfig = new BaseNumberOptionsConfiguration(config.Culture, numOptions);

            CardinalExtractor = config.CardinalExtractor;
            CardinalParser    = AgnosticNumberParserFactory.GetParser(
                AgnosticNumberParserType.Cardinal, new KoreanNumberParserConfiguration(numConfig));

            DateExtractor       = config.DateExtractor;
            DurationExtractor   = config.DurationExtractor;
            DateTimeExtractor   = config.DateTimeExtractor;
            TimeExtractor       = config.TimeExtractor;
            TimePeriodExtractor = config.TimePeriodExtractor;
            DateParser          = config.DateParser;
            TimeParser          = config.TimeParser;
            DateTimeParser      = config.DateTimeParser;
            TimePeriodParser    = config.TimePeriodParser;

            SpecificTimeOfDayRegex = KoreanDateTimePeriodExtractorConfiguration.SpecificTimeOfDayRegex;
            TimeOfDayRegex         = KoreanDateTimePeriodExtractorConfiguration.TimeOfDayRegex;
            NextRegex   = KoreanDateTimePeriodExtractorConfiguration.NextRegex;
            LastRegex   = KoreanDateTimePeriodExtractorConfiguration.LastRegex;
            PastRegex   = KoreanDateTimePeriodExtractorConfiguration.PastRegex;
            FutureRegex = KoreanDateTimePeriodExtractorConfiguration.FutureRegex;
            UnitRegex   = KoreanDateTimePeriodExtractorConfiguration.UnitRegex;
            UnitMap     = config.UnitMap;
        }
Beispiel #2
0
        public ChineseDateParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor = config.IntegerExtractor;
            OrdinalExtractor = config.OrdinalExtractor;

            NumberParser = config.NumberParser;

            DateExtractor     = config.DateExtractor;
            DurationExtractor = config.DurationExtractor;

            DateRegexList       = new ChineseDateExtractorConfiguration(this).DateRegexList;
            SpecialDate         = ChineseDateExtractorConfiguration.SpecialDate;
            NextRe              = ChineseDateExtractorConfiguration.NextRe;
            LastRe              = ChineseDateExtractorConfiguration.LastRe;
            SpecialDayRegex     = ChineseDateExtractorConfiguration.SpecialDayRegex;
            StrictWeekDayRegex  = ChineseDateExtractorConfiguration.WeekDayRegex;
            LunarRegex          = ChineseDateExtractorConfiguration.LunarRegex;
            UnitRegex           = ChineseDateExtractorConfiguration.UnitRegex;
            BeforeRegex         = ChineseDateExtractorConfiguration.BeforeRegex;
            AfterRegex          = ChineseDateExtractorConfiguration.AfterRegex;
            DynastyYearRegex    = ChineseDateExtractorConfiguration.DynastyYearRegex;
            DynastyStartYear    = ChineseDateExtractorConfiguration.DynastyStartYear;
            DynastyYearMap      = ChineseDateExtractorConfiguration.DynastyYearMap;
            NextRegex           = ChineseDateExtractorConfiguration.NextRegex;
            ThisRegex           = ChineseDateExtractorConfiguration.ThisRegex;
            LastRegex           = ChineseDateExtractorConfiguration.LastRegex;
            WeekDayOfMonthRegex = ChineseDateExtractorConfiguration.WeekDayOfMonthRegex;

            CardinalMap = config.CardinalMap;
            UnitMap     = config.UnitMap;
            DayOfMonth  = config.DayOfMonth;
            DayOfWeek   = config.DayOfWeek;
            MonthOfYear = config.MonthOfYear;
        }
        public ChineseHolidayParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor = config.IntegerExtractor;
            NumberParser     = config.NumberParser;

            HolidayRegexList  = ChineseHolidayExtractorConfiguration.HolidayRegexList;
            LunarHolidayRegex = ChineseHolidayExtractorConfiguration.LunarHolidayRegex;
        }
Beispiel #4
0
 public KoreanMergedParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
     : base(config)
 {
     BeforeRegex      = KoreanMergedExtractorConfiguration.BeforeRegex;
     AfterRegex       = KoreanMergedExtractorConfiguration.AfterRegex;
     SincePrefixRegex = KoreanMergedExtractorConfiguration.SincePrefixRegex;
     SinceSuffixRegex = KoreanMergedExtractorConfiguration.SinceSuffixRegex;
     EqualRegex       = KoreanMergedExtractorConfiguration.EqualRegex;
     UntilRegex       = KoreanMergedExtractorConfiguration.UntilRegex;
 }
        public ChineseDurationParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            InternalParser = new NumberWithUnitParser(new DurationParserConfiguration());

            var durationConfig = new BaseDateTimeOptionsConfiguration(config.Culture, DateTimeOptions.None);

            DurationExtractor = new BaseCJKDurationExtractor(new ChineseDurationExtractorConfiguration(durationConfig), false);

            YearRegex              = ChineseDurationExtractorConfiguration.YearRegex;
            DurationUnitRegex      = ChineseDurationExtractorConfiguration.DurationUnitRegex;
            DurationConnectorRegex = ChineseDurationExtractorConfiguration.DurationConnectorRegex;

            UnitMap      = config.UnitMap;
            UnitValueMap = config.UnitValueMap;
        }
Beispiel #6
0
        public ChineseDatePeriodParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor  = config.IntegerExtractor;
            NumberParser      = config.NumberParser;
            DateExtractor     = config.DateExtractor;
            DurationExtractor = config.DurationExtractor;
            DateParser        = config.DateParser;

            DynastyYearRegex           = ChineseDateExtractorConfiguration.DynastyYearRegex;
            DynastyStartYear           = ChineseDateExtractorConfiguration.DynastyStartYear;
            DynastyYearMap             = ChineseDateExtractorConfiguration.DynastyYearMap;
            SimpleCasesRegex           = ChineseDatePeriodExtractorConfiguration.SimpleCasesRegex;
            ThisRegex                  = ChineseDatePeriodExtractorConfiguration.ThisRegex;
            NextRegex                  = ChineseDatePeriodExtractorConfiguration.NextRegex;
            LastRegex                  = ChineseDatePeriodExtractorConfiguration.LastRegex;
            YearToYear                 = ChineseDatePeriodExtractorConfiguration.YearToYear;
            YearToYearSuffixRequired   = ChineseDatePeriodExtractorConfiguration.YearToYearSuffixRequired;
            YearRegex                  = ChineseDatePeriodExtractorConfiguration.YearRegex;
            YearInCJKRegex             = ChineseDatePeriodExtractorConfiguration.YearInCJKRegex;
            MonthToMonth               = ChineseDatePeriodExtractorConfiguration.MonthToMonth;
            MonthToMonthSuffixRequired = ChineseDatePeriodExtractorConfiguration.MonthToMonthSuffixRequired;
            DayToDay               = ChineseDatePeriodExtractorConfiguration.DayToDay;
            DayRegexForPeriod      = ChineseDatePeriodExtractorConfiguration.DayRegexForPeriod;
            MonthRegex             = ChineseDatePeriodExtractorConfiguration.MonthRegex;
            SpecialMonthRegex      = ChineseDatePeriodExtractorConfiguration.SpecialMonthRegex;
            SpecialYearRegex       = ChineseDatePeriodExtractorConfiguration.SpecialYearRegex;
            YearAndMonth           = ChineseDatePeriodExtractorConfiguration.YearAndMonth;
            PureNumYearAndMonth    = ChineseDatePeriodExtractorConfiguration.PureNumYearAndMonth;
            SimpleYearAndMonth     = ChineseDatePeriodExtractorConfiguration.SimpleYearAndMonth;
            OneWordPeriodRegex     = ChineseDatePeriodExtractorConfiguration.OneWordPeriodRegex;
            NumberCombinedWithUnit = ChineseDatePeriodExtractorConfiguration.NumberCombinedWithUnit;
            PastRegex              = ChineseDatePeriodExtractorConfiguration.PastRegex;
            FutureRegex            = ChineseDatePeriodExtractorConfiguration.FutureRegex;
            UnitRegex              = ChineseDatePeriodExtractorConfiguration.UnitRegex;
            WeekOfMonthRegex       = ChineseDatePeriodExtractorConfiguration.WeekOfMonthRegex;
            WeekOfYearRegex        = ChineseDatePeriodExtractorConfiguration.WeekOfYearRegex;
            FirstLastOfYearRegex   = ChineseDatePeriodExtractorConfiguration.FirstLastOfYearRegex;
            SeasonWithYear         = ChineseDatePeriodExtractorConfiguration.SeasonWithYear;
            QuarterRegex           = ChineseDatePeriodExtractorConfiguration.QuarterRegex;
            DecadeRegex            = ChineseDatePeriodExtractorConfiguration.DecadeRegex;
            RelativeRegex          = ChineseDateExtractorConfiguration.RelativeRegex;
            UnitMap     = DateTimeDefinitions.ParserConfigurationUnitMap.ToImmutableDictionary();
            CardinalMap = DateTimeDefinitions.ParserConfigurationCardinalMap.ToImmutableDictionary();
            DayOfMonth  = DateTimeDefinitions.ParserConfigurationDayOfMonth.ToImmutableDictionary();
            SeasonMap   = DateTimeDefinitions.ParserConfigurationSeasonMap.ToImmutableDictionary();
        }
        public JapaneseSetParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            DurationExtractor = config.DurationExtractor;
            TimeExtractor     = config.TimeExtractor;
            DateExtractor     = config.DateExtractor;
            DateTimeExtractor = config.DateTimeExtractor;

            DurationParser = config.DurationParser;
            TimeParser     = config.TimeParser;
            DateParser     = config.DateParser;
            DateTimeParser = config.DateTimeParser;

            EachPrefixRegex = JapaneseSetExtractorConfiguration.EachPrefixRegex;
            EachUnitRegex   = JapaneseSetExtractorConfiguration.EachUnitRegex;
            EachDayRegex    = JapaneseSetExtractorConfiguration.EachDayRegex;
            UnitMap         = config.UnitMap;
        }
        public KoreanDateTimeParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor  = config.IntegerExtractor;
            DateExtractor     = config.DateExtractor;
            TimeExtractor     = config.TimeExtractor;
            DurationExtractor = config.DurationExtractor;

            DateParser   = config.DateParser;
            TimeParser   = config.TimeParser;
            NumberParser = config.NumberParser;

            UnitMap                 = DateTimeDefinitions.ParserConfigurationUnitMap.ToImmutableDictionary();
            NowRegex                = KoreanDateTimeExtractorConfiguration.NowRegex;
            TimeOfTodayRegex        = KoreanDateTimeExtractorConfiguration.TimeOfTodayRegex;
            DateTimePeriodUnitRegex = KoreanDateTimeExtractorConfiguration.DateTimePeriodUnitRegex;
            BeforeRegex             = KoreanDateTimeExtractorConfiguration.BeforeRegex;
            AfterRegex              = KoreanDateTimeExtractorConfiguration.AfterRegex;
        }
        public JapaneseDateTimeParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor  = config.IntegerExtractor;
            DateExtractor     = config.DateExtractor;
            TimeExtractor     = config.TimeExtractor;
            DurationExtractor = config.DurationExtractor;

            DateParser     = config.DateParser;
            DurationParser = config.DurationParser;
            TimeParser     = config.TimeParser;
            NumberParser   = config.NumberParser;

            UnitMap  = DateTimeDefinitions.ParserConfigurationUnitMap.ToImmutableDictionary();
            NowRegex = JapaneseDateTimeExtractorConfiguration.NowRegex;
            TimeOfSpecialDayRegex   = JapaneseDateTimeExtractorConfiguration.TimeOfSpecialDayRegex;
            DateTimePeriodUnitRegex = JapaneseDateTimeExtractorConfiguration.DateTimePeriodUnitRegex;
            BeforeRegex             = JapaneseDateTimeExtractorConfiguration.BeforeRegex;
            AfterRegex = JapaneseDateTimeExtractorConfiguration.AfterRegex;
            DurationRelativeDurationUnitRegex = JapaneseDateTimeExtractorConfiguration.DurationRelativeDurationUnitRegex;
            AgoLaterRegex = JapaneseDateTimeExtractorConfiguration.AgoLaterRegex;
        }
 public ChineseTimeParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
     : base(config)
 {
     TimeExtractor = config.TimeExtractor;
 }
 public KoreanTimePeriodParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
     : base(config)
 {
     TimeExtractor = config.TimeExtractor;
     TimeParser    = config.TimeParser;
 }
        public JapaneseDatePeriodParserConfiguration(ICJKCommonDateTimeParserConfiguration config)
            : base(config)
        {
            IntegerExtractor  = config.IntegerExtractor;
            NumberParser      = config.NumberParser;
            DateExtractor     = config.DateExtractor;
            DurationExtractor = config.DurationExtractor;
            CardinalExtractor = config.CardinalExtractor;
            DurationParser    = config.DurationParser;
            DateParser        = config.DateParser;

            DynastyYearRegex           = JapaneseDateExtractorConfiguration.DynastyYearRegex;
            DynastyStartYear           = JapaneseDateExtractorConfiguration.DynastyStartYear;
            DynastyYearMap             = JapaneseDateExtractorConfiguration.DynastyYearMap;
            SimpleCasesRegex           = JapaneseDatePeriodExtractorConfiguration.SimpleCasesRegex;
            ThisRegex                  = JapaneseDatePeriodExtractorConfiguration.ThisRegex;
            NextRegex                  = JapaneseDatePeriodExtractorConfiguration.NextRegex;
            LastRegex                  = JapaneseDatePeriodExtractorConfiguration.LastRegex;
            YearToYear                 = JapaneseDatePeriodExtractorConfiguration.YearToYear;
            YearToYearSuffixRequired   = JapaneseDatePeriodExtractorConfiguration.YearToYearSuffixRequired;
            YearRegex                  = JapaneseDatePeriodExtractorConfiguration.YearRegex;
            YearInCJKRegex             = JapaneseDatePeriodExtractorConfiguration.YearInCJKRegex;
            MonthToMonth               = JapaneseDatePeriodExtractorConfiguration.MonthToMonth;
            MonthToMonthSuffixRequired = JapaneseDatePeriodExtractorConfiguration.MonthToMonthSuffixRequired;
            DayToDay                          = JapaneseDatePeriodExtractorConfiguration.DayToDay;
            MonthDayRange                     = JapaneseDatePeriodExtractorConfiguration.MonthDayRange;
            DayRegexForPeriod                 = JapaneseDatePeriodExtractorConfiguration.DayRegexForPeriod;
            MonthRegex                        = JapaneseDatePeriodExtractorConfiguration.MonthRegex;
            SpecialMonthRegex                 = JapaneseDatePeriodExtractorConfiguration.SpecialMonthRegex;
            SpecialYearRegex                  = JapaneseDatePeriodExtractorConfiguration.SpecialYearRegex;
            YearAndMonth                      = JapaneseDatePeriodExtractorConfiguration.YearAndMonth;
            PureNumYearAndMonth               = JapaneseDatePeriodExtractorConfiguration.PureNumYearAndMonth;
            SimpleYearAndMonth                = JapaneseDatePeriodExtractorConfiguration.SimpleYearAndMonth;
            OneWordPeriodRegex                = JapaneseDatePeriodExtractorConfiguration.OneWordPeriodRegex;
            NumberCombinedWithUnit            = JapaneseDatePeriodExtractorConfiguration.NumberCombinedWithUnit;
            PastRegex                         = JapaneseDatePeriodExtractorConfiguration.PastRegex;
            FutureRegex                       = JapaneseDatePeriodExtractorConfiguration.FutureRegex;
            WeekWithWeekDayRangeRegex         = JapaneseDatePeriodExtractorConfiguration.WeekWithWeekDayRangeRegex;
            UnitRegex                         = JapaneseDatePeriodExtractorConfiguration.UnitRegex;
            WeekOfMonthRegex                  = JapaneseDatePeriodExtractorConfiguration.WeekOfMonthRegex;
            WeekOfYearRegex                   = JapaneseDatePeriodExtractorConfiguration.WeekOfYearRegex;
            WeekOfDateRegex                   = JapaneseDatePeriodExtractorConfiguration.WeekOfDateRegex;
            MonthOfDateRegex                  = JapaneseDatePeriodExtractorConfiguration.MonthOfDateRegex;
            WhichWeekRegex                    = JapaneseDatePeriodExtractorConfiguration.WhichWeekRegex;
            FirstLastOfYearRegex              = JapaneseDatePeriodExtractorConfiguration.FirstLastOfYearRegex;
            SeasonWithYear                    = JapaneseDatePeriodExtractorConfiguration.SeasonWithYear;
            QuarterRegex                      = JapaneseDatePeriodExtractorConfiguration.QuarterRegex;
            DecadeRegex                       = JapaneseDatePeriodExtractorConfiguration.DecadeRegex;
            CenturyRegex                      = JapaneseDatePeriodExtractorConfiguration.CenturyRegex;
            RelativeRegex                     = JapaneseDateExtractorConfiguration.RelativeRegex;
            RelativeMonthRegex                = JapaneseDateExtractorConfiguration.RelativeMonthRegex;
            LaterEarlyPeriodRegex             = JapaneseDatePeriodExtractorConfiguration.LaterEarlyPeriodRegex;
            DatePointWithAgoAndLater          = JapaneseDatePeriodExtractorConfiguration.DatePointWithAgoAndLater;
            ReferenceDatePeriodRegex          = JapaneseDatePeriodExtractorConfiguration.ReferenceDatePeriodRegex;
            ComplexDatePeriodRegex            = JapaneseDatePeriodExtractorConfiguration.ComplexDatePeriodRegex;
            DurationRelativeDurationUnitRegex = JapaneseDateExtractorConfiguration.DurationRelativeDurationUnitRegex;
            UnitMap     = DateTimeDefinitions.ParserConfigurationUnitMap.ToImmutableDictionary();
            CardinalMap = DateTimeDefinitions.ParserConfigurationCardinalMap.ToImmutableDictionary();
            DayOfMonth  = DateTimeDefinitions.ParserConfigurationDayOfMonth.ToImmutableDictionary();
            SeasonMap   = DateTimeDefinitions.ParserConfigurationSeasonMap.ToImmutableDictionary();
        }