TraceLab Component Library
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties
SnowballStemmerUtils.cs
Go to the documentation of this file.
1 // TraceLab Component Library
2 // Copyright © 2012-2013 SEMERU
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 using TraceLab.Components.DevelopmentKit.Preprocessors.Stemmers.Snowball.Languages;
18 
19 namespace TraceLab.Components.DevelopmentKit.Preprocessors.Stemmers.Snowball
20 {
24  public static class SnowballStemmerUtils
25  {
32  {
33  switch (language)
34  {
35  case SnowballStemmerEnum.Czech:
36  return new CzechStemmer();
37 
38  case SnowballStemmerEnum.Danish:
39  return new DanishStemmer();
40 
41  case SnowballStemmerEnum.Dutch:
42  return new DutchStemmer();
43 
44  case SnowballStemmerEnum.Finnish:
45  return new FinnishStemmer();
46 
47  case SnowballStemmerEnum.French:
48  return new FrenchStemmer();
49 
50  case SnowballStemmerEnum.German:
51  return new GermanStemmer();
52 
53  case SnowballStemmerEnum.Hungarian:
54  return new HungarianStemmer();
55 
56  case SnowballStemmerEnum.Italian:
57  return new ItalianStemmer();
58 
59  case SnowballStemmerEnum.Norwegian:
60  return new NorwegianStemmer();
61 
62  case SnowballStemmerEnum.Portuguese:
63  return new PortugalStemmer();
64 
65  case SnowballStemmerEnum.Romanian:
66  return new RomanianStemmer();
67 
68  case SnowballStemmerEnum.Russian:
69  return new RussianStemmer();
70 
71  case SnowballStemmerEnum.Spanish:
72  return new SpanishStemmer();
73 
74  case SnowballStemmerEnum.English:
75  case SnowballStemmerEnum.Default:
76  default:
77  return new EnglishStemmer();
78  }
79  }
80  }
81 }