Example #1
0
        public ICronRange Parse(string range)
        {
            IRangeFactoryLink currentLink = RangeFactoryChain.BuildChain();
            ICronRange        parsedRange = currentLink.HandleParse(range);

            while (parsedRange == null)
            {
                IRangeFactoryLink successor = currentLink.Successor;
                if (successor == null)
                {
                    throw new FormatException($"Failed to parse {range}");
                }

                currentLink = successor;
                parsedRange = currentLink.HandleParse(range);
            }

            return(parsedRange);
        }