-package jp.sourceforge.stigmata.birthmarks.kgram;\r
-\r
-/*\r
- * $Id$\r
- */\r
-\r
-import java.util.LinkedHashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-/**\r
- * @author Haruaki Tamada\r
- * @version $Revision$\r
- */\r
-public class KGramBuilder{\r
- private static final KGramBuilder builder = new KGramBuilder();\r
-\r
- /**\r
- * private constructor for singleton pattern.\r
- */\r
- private KGramBuilder(){\r
- }\r
-\r
- public static KGramBuilder getInstance(){\r
- return builder;\r
- }\r
-\r
- @SuppressWarnings("unchecked")\r
- public <T> KGram<T>[] buildKGram(T[] values, int kvalue){\r
- Set<KGram<T>> kgrams = new LinkedHashSet<KGram<T>>();\r
-\r
- if(values.length >= kvalue){\r
- int max = values.length - (kvalue - 1);\r
- for(int i = 0; i < max; i++){\r
- KGram<T> kgram = new KGram<T>(kvalue);\r
- for(int j = 0; j < kvalue; j++){\r
- kgram.set(j, values[i + j]);\r
- }\r
- kgrams.add(kgram);\r
- }\r
- }\r
- return kgrams.toArray(new KGram[kgrams.size()]);\r
- }\r
-\r
- @SuppressWarnings("unchecked")\r
- public <T> KGram<T>[] buildKGram(List<T> values, int kvalue){\r
- Set<KGram<T>> kgrams = new LinkedHashSet<KGram<T>>();\r
-\r
- if(values.size() >= kvalue){\r
- int max = values.size() - (kvalue - 1);\r
- for(int i = 0; i < max; i++){\r
- KGram<T> kgram = new KGram<T>(kvalue);\r
- for(int j = 0; j < kvalue; j++){\r
- kgram.set(j, values.get(i + j));\r
- }\r
- kgrams.add(kgram);\r
- }\r
- }\r
- return kgrams.toArray(new KGram[kgrams.size()]);\r
- }\r
+package jp.sourceforge.stigmata.birthmarks.kgram;
+
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author Haruaki Tamada
+ */
+public class KGramBuilder{
+ private static final KGramBuilder builder = new KGramBuilder();
+
+ /**
+ * private constructor for singleton pattern.
+ */
+ private KGramBuilder(){
+ }
+
+ public static KGramBuilder getInstance(){
+ return builder;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <T> KGram<T>[] buildKGram(T[] values, int kvalue){
+ Set<KGram<T>> kgrams = new LinkedHashSet<KGram<T>>();
+
+ if(values.length >= kvalue){
+ int max = values.length - (kvalue - 1);
+ for(int i = 0; i < max; i++){
+ KGram<T> kgram = new KGram<T>(kvalue);
+ for(int j = 0; j < kvalue; j++){
+ kgram.set(j, values[i + j]);
+ }
+ kgrams.add(kgram);
+ }
+ }
+ return kgrams.toArray(new KGram[kgrams.size()]);
+ }
+
+ @SuppressWarnings("unchecked")
+ public <T> KGram<T>[] buildKGram(List<T> values, int kvalue){
+ Set<KGram<T>> kgrams = new LinkedHashSet<KGram<T>>();
+
+ if(values.size() >= kvalue){
+ int max = values.size() - (kvalue - 1);
+ for(int i = 0; i < max; i++){
+ KGram<T> kgram = new KGram<T>(kvalue);
+ for(int j = 0; j < kvalue; j++){
+ kgram.set(j, values.get(i + j));
+ }
+ kgrams.add(kgram);
+ }
+ }
+ return kgrams.toArray(new KGram[kgrams.size()]);
+ }
}
\ No newline at end of file