1 package net.sf.jabref.export.layout;
3 import net.sf.jabref.export.layout.LayoutFormatter;
6 import java.util.ArrayList;
8 public abstract class AbstractParamLayoutFormatter implements ParamLayoutFormatter {
10 private static char SEPARATOR = ',';
12 public static String[] parseArgument(String arg) {
13 List<String> parts = new ArrayList<String>();
14 StringBuilder current = new StringBuilder();
15 boolean escaped = false;
16 for (int i=0; i<arg.length(); i++) {
17 if ((arg.charAt(i) == SEPARATOR) && !escaped) {
18 parts.add(current.toString());
19 current = new StringBuilder();
20 } else if (arg.charAt(i) == '\\') {
23 current.append(arg.charAt(i));
27 if ((arg.charAt(i) != ',') && (arg.charAt(i) != '"'))
29 current.append(arg.charAt(i));
32 current.append(arg.charAt(i));
34 parts.add(current.toString());
35 return parts.toArray(new String[parts.size()]);