package ilarkesto.core.diff;
import java.util.LinkedList;
import java.util.List;
public class LineTokenizer implements DiffTokenizer {
@Override
public List<String> tokenize(String s) {
List<String> ret = new LinkedList<String>();
if (s == null) return ret;
int len = s.length();
int from = 0;
int to = s.indexOf('\n');
while (to >= 0) {
ret.add(s.substring(from, to));
ret.add("\n");
from = to + 1;
if (from >= len) return ret;
to = s.indexOf('\n', from);
}
ret.add(s.substring(from));
return ret;
}
@Override
public String concat(List<String> tokens) {
StringBuilder sb = new StringBuilder();
for (String token : tokens) {
sb.append(token);
}
return sb.toString();
}
}