package com.akjava.lib.common.functions; import java.util.List; import com.google.common.base.CharMatcher; import com.google.common.base.Function; import com.google.common.base.Splitter; import com.google.common.collect.Lists; public class SplitLineFunction implements Function<String, List<String>> { private Splitter splitter; public SplitLineFunction(boolean splitTab,boolean splitComma){ String v=""; if(splitTab){ v+="\t"; } if(splitComma){ v+=","; } if(v.isEmpty()){ throw new RuntimeException("need tab or comma support"); } setSplitChars(v); } public void setSplitChars(String text){ CharMatcher matcher=CharMatcher.anyOf(text); splitter=Splitter.on(matcher); } public SplitLineFunction(String splitters){ setSplitChars(splitters); } @Override public List<String> apply(String line) { return Lists.newArrayList(splitter.split(line)); } }