public ItalianTimePeriodExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     TokenBeforeDate      = DateTimeDefinitions.TokenBeforeDate;
     SingleTimeExtractor  = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration(this));
     UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();
     IntegerExtractor     = Number.English.IntegerExtractor.GetInstance();
 }
Example #2
0
 public ItalianDateTimeExtractorConfiguration(IOptionsConfiguration config) : base(config)
 {
     IntegerExtractor     = Number.Italian.IntegerExtractor.GetInstance();
     DatePointExtractor   = new BaseDateExtractor(new ItalianDateExtractorConfiguration(this));
     TimePointExtractor   = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration(this));
     DurationExtractor    = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
     UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();
 }
 public ItalianDateTimeExtractorConfiguration(DateTimeOptions options = DateTimeOptions.None) : base(options)
 {
     IntegerExtractor     = new IntegerExtractor();
     DatePointExtractor   = new BaseDateExtractor(new ItalianDateExtractorConfiguration());
     TimePointExtractor   = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration());
     DurationExtractor    = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration());
     UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();
 }
Example #4
0
 public ItalianDateExtractorConfiguration() : base(DateTimeOptions.None)
 {
     IntegerExtractor     = new IntegerExtractor();
     OrdinalExtractor     = new OrdinalExtractor();
     NumberParser         = new BaseNumberParser(new ItalianNumberParserConfiguration());
     DurationExtractor    = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration());
     UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();
 }
Example #5
0
        public ItalianDateExtractorConfiguration(IOptionsConfiguration config)
            : base(config)
        {
            IntegerExtractor     = Number.Italian.IntegerExtractor.GetInstance();
            OrdinalExtractor     = Number.Italian.OrdinalExtractor.GetInstance();
            NumberParser         = new BaseNumberParser(new ItalianNumberParserConfiguration());
            DurationExtractor    = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
            UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();

            const RegexOptions dateRegexOption = RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = new Regex(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = new Regex(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // on 1.3
            var dateRegex6 = new Regex(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // on 24-12
            var dateRegex8 = new Regex(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // 7/23
            var dateRegex7 = new Regex(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // 23/7
            var dateRegex9 = new Regex(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // 2015-12-23
            var dateRegexA = new Regex(DateTimeDefinitions.DateExtractorA, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // (Sunday,)? April 5
                new Regex(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // (Sunday,)? April 5, 2016
                new Regex(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (Sunday,)? 6th of April
                new Regex(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegexA }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegexA });
        }
        public ItalianCommonDateTimeParserConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();

            UnitMap            = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap       = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap          = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            CardinalMap        = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek          = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear        = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers            = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers      = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades     = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            var numOptions = NumberOptions.None;

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

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

            CardinalExtractor = Number.Italian.CardinalExtractor.GetInstance();
            IntegerExtractor  = Number.Italian.IntegerExtractor.GetInstance();
            OrdinalExtractor  = Number.Italian.OrdinalExtractor.GetInstance(numConfig);

            NumberParser = new BaseNumberParser(new ItalianNumberParserConfiguration(numConfig));

            DateExtractor           = new BaseDateExtractor(new ItalianDateExtractorConfiguration(this));
            TimeExtractor           = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration(this));
            DateTimeExtractor       = new BaseDateTimeExtractor(new ItalianDateTimeExtractorConfiguration(this));
            DurationExtractor       = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
            DatePeriodExtractor     = new BaseDatePeriodExtractor(new ItalianDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor     = new BaseTimePeriodExtractor(new ItalianTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new ItalianDateTimePeriodExtractorConfiguration(this));
            DateParser           = new BaseDateParser(new ItalianDateParserConfiguration(this));
            TimeParser           = new TimeParser(new ItalianTimeParserConfiguration(this));
            DateTimeParser       = new BaseDateTimeParser(new ItalianDateTimeParserConfiguration(this));
            DurationParser       = new BaseDurationParser(new ItalianDurationParserConfiguration(this));
            DatePeriodParser     = new BaseDatePeriodParser(new ItalianDatePeriodParserConfiguration(this));
            TimePeriodParser     = new BaseTimePeriodParser(new ItalianTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new ItalianDateTimePeriodParserConfiguration(this));
            DateTimeAltParser    = new BaseDateTimeAltParser(new ItalianDateTimeAltParserConfiguration(this));
        }
        public ItalianCommonDateTimeParserConfiguration(IOptionsConfiguration options)
            : base(options)
        {
            UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();

            UnitMap = DateTimeDefinitions.UnitMap.ToImmutableDictionary();
            UnitValueMap = DateTimeDefinitions.UnitValueMap.ToImmutableDictionary();
            SeasonMap = DateTimeDefinitions.SeasonMap.ToImmutableDictionary();
            SpecialYearPrefixesMap = DateTimeDefinitions.SpecialYearPrefixesMap.ToImmutableDictionary();
            CardinalMap = DateTimeDefinitions.CardinalMap.ToImmutableDictionary();
            DayOfWeek = DateTimeDefinitions.DayOfWeek.ToImmutableDictionary();
            MonthOfYear = DateTimeDefinitions.MonthOfYear.ToImmutableDictionary();
            Numbers = DateTimeDefinitions.Numbers.ToImmutableDictionary();
            DoubleNumbers = DateTimeDefinitions.DoubleNumbers.ToImmutableDictionary();
            WrittenDecades = DateTimeDefinitions.WrittenDecades.ToImmutableDictionary();
            SpecialDecadeCases = DateTimeDefinitions.SpecialDecadeCases.ToImmutableDictionary();

            CardinalExtractor = Number.Italian.CardinalExtractor.GetInstance();
            IntegerExtractor = Number.Italian.IntegerExtractor.GetInstance();
            OrdinalExtractor = Number.Italian.OrdinalExtractor.GetInstance();

            NumberParser = new BaseNumberParser(new ItalianNumberParserConfiguration());
            DateExtractor = new BaseDateExtractor(new ItalianDateExtractorConfiguration(this));
            TimeExtractor = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration(this));
            DateTimeExtractor = new BaseDateTimeExtractor(new ItalianDateTimeExtractorConfiguration(this));
            DurationExtractor = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
            DatePeriodExtractor = new BaseDatePeriodExtractor(new ItalianDatePeriodExtractorConfiguration(this));
            TimePeriodExtractor = new BaseTimePeriodExtractor(new ItalianTimePeriodExtractorConfiguration(this));
            DateTimePeriodExtractor = new BaseDateTimePeriodExtractor(new ItalianDateTimePeriodExtractorConfiguration(this));
            DateParser = new BaseDateParser(new ItalianDateParserConfiguration(this));
            TimeParser = new BaseTimeParser(new ItalianTimeParserConfiguration(this));
            DateTimeParser = new BaseDateTimeParser(new ItalianDateTimeParserConfiguration(this));
            DurationParser = new BaseDurationParser(new ItalianDurationParserConfiguration(this));
            DatePeriodParser = new BaseDatePeriodParser(new ItalianDatePeriodParserConfiguration(this));
            TimePeriodParser = new BaseTimePeriodParser(new ItalianTimePeriodParserConfiguration(this));
            DateTimePeriodParser = new BaseDateTimePeriodParser(new ItalianDateTimePeriodParserConfiguration(this));
            DateTimeAltParser = new BaseDateTimeAltParser(new ItalianDateTimeAltParserConfiguration(this));
        }
Example #8
0
        public ItalianDateExtractorConfiguration(IDateTimeOptionsConfiguration config)
            : base(config)
        {
            var numOptions = NumberOptions.None;

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

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

            IntegerExtractor = Number.Italian.IntegerExtractor.GetInstance();
            OrdinalExtractor = Number.Italian.OrdinalExtractor.GetInstance();
            NumberParser     = new BaseNumberParser(new ItalianNumberParserConfiguration(numConfig));

            DurationExtractor    = new BaseDurationExtractor(new ItalianDurationExtractorConfiguration(this));
            HolidayExtractor     = new BaseHolidayExtractor(new ItalianHolidayExtractorConfiguration(this));
            UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();

            const RegexOptions dateRegexOption = RegexOptions.Singleline;

            // 3-23-2017
            var dateRegex4 = RegexCache.Get(DateTimeDefinitions.DateExtractor4, dateRegexOption);

            // 23-3-2015
            var dateRegex5 = RegexCache.Get(DateTimeDefinitions.DateExtractor5, dateRegexOption);

            // on 1.3
            var dateRegex6 = RegexCache.Get(DateTimeDefinitions.DateExtractor6, dateRegexOption);

            // on 24-12
            var dateRegex8 = RegexCache.Get(DateTimeDefinitions.DateExtractor8, dateRegexOption);

            // 7/23
            var dateRegex7 = RegexCache.Get(DateTimeDefinitions.DateExtractor7, dateRegexOption);

            // 23/7
            var dateRegex9 = RegexCache.Get(DateTimeDefinitions.DateExtractor9, dateRegexOption);

            // 2015-12-23
            var dateRegexA = RegexCache.Get(DateTimeDefinitions.DateExtractorA, dateRegexOption);

            DateRegexList = new List <Regex>
            {
                // (Sunday,)? April 5
                RegexCache.Get(DateTimeDefinitions.DateExtractor1, dateRegexOption),

                // (Sunday,)? April 5, 2016
                RegexCache.Get(DateTimeDefinitions.DateExtractor2, dateRegexOption),

                // (Sunday,)? 6th of April
                RegexCache.Get(DateTimeDefinitions.DateExtractor3, dateRegexOption),
            };

            var enableDmy = DmyDateFormat ||
                            DateTimeDefinitions.DefaultLanguageFallback == Constants.DefaultLanguageFallback_DMY;

            DateRegexList = DateRegexList.Concat(enableDmy
                ? new[] { dateRegex5, dateRegex8, dateRegex9, dateRegex4, dateRegex6, dateRegex7, dateRegexA }
                : new[] { dateRegex4, dateRegex6, dateRegex7, dateRegex5, dateRegex8, dateRegex9, dateRegexA });
        }
 public ItalianTimePeriodExtractorConfiguration() : base(DateTimeOptions.None)
 {
     SingleTimeExtractor  = new BaseTimeExtractor(new ItalianTimeExtractorConfiguration());
     UtilityConfiguration = new ItalianDatetimeUtilityConfiguration();
     IntegerExtractor     = Number.English.IntegerExtractor.GetInstance();
 }