private ITextSorter InstanceCreateTextSorter(eSortMode sortMode)
        {
            ITextSorter newInstance = null;

            switch (sortMode)
            {
            case eSortMode.AlphabeticAsc:
                newInstance = new AlphabeticAscendentSorter();
                break;

            case eSortMode.AlphabeticDesc:
                newInstance = new AlphabeticDescendentSorter();
                break;

            case eSortMode.LenghtAsc:
                newInstance = new WordLengthSorter();
                break;

            default:
                throw new NotImplementedException(TextConstants.SORTER_CRITERIA_NOTIMPLEMENTED);
            }

            return(newInstance);
        }
 /// <summary>
 /// factory method that creates a ITextSorter instance
 /// </summary>
 /// <param name="sortMode">Sorter criteria</param>
 /// <returns></returns>
 public static ITextSorter CreateTextSorter(eSortMode sortMode)
 {
     return(TextSorterFactory.FactoryInstance.InstanceCreateTextSorter(sortMode));
 }
Exemple #3
0
        /// <summary>
        /// Method to sort a Text
        /// </summary>
        /// <param name="textToSort">piece of text</param>
        /// <param name="sortMode">sort criteria <see cref="eSortMode"/></param>
        /// <returns>Piece of text sorted</returns>
        public string Sort(string textToSort, eSortMode sortMode)
        {
            ITextSorter sorter = DIService.ContainerService.ResolveKeyed <ITextSorter>(sortMode);

            return(sorter.Sort(textToSort));
        }