示例#1
0
 @Override
 public void addThruPipe(Instance inst) {
   Object data = inst.getData();
   List<String> tokens = Collections.emptyList();
   if (data instanceof String) {
     tokens = Arrays.asList(((String) data).split("\\s+"));
   } else if (data instanceof List) {
     tokens = (List<String>) data;
   }
   ArrayList<String> list = new ArrayList<String>();
   StringBuffer buf = new StringBuffer();
   for (int j = 0; j < gramSizes.length; j++) {
     int len = gramSizes[j];
     if (len <= 0 || len > tokens.size()) continue;
     for (int i = 0; i < tokens.size() - len + 1; i++) {
       buf.delete(0, buf.length());
       int k = 0;
       for (; k < len - 1; ++k) {
         buf.append(tokens.get(i + k));
         buf.append(' ');
       }
       buf.append(tokens.get(i + k));
       list.add(buf.toString().intern());
     }
   }
   inst.setData(list);
 }