public static RestxConfig of(Iterable<ConfigElement> configElements) { return new StdRestxConfig(configElements); }
public static RestxConfig of(Iterable<ConfigElement> configElements) { return new StdRestxConfig(configElements); }
public static RestxConfig parse(String origin, CharSource charSource) throws IOException { List<ConfigElement> elements = new ArrayList<>(); StringBuilder doc = new StringBuilder(); ImmutableList<String> lines = charSource.readLines(); for (int lineCount = 0; lineCount < lines.size(); lineCount++) { String line = lines.get(lineCount); if (line.startsWith("#")) { doc.append(line.substring(1).trim()).append("\n"); } else if (!line.trim().isEmpty()) { int equalIndex = line.indexOf('='); if (equalIndex == -1) { throw new IOException("invalid config " + origin + " at line " + lineCount + ":" + " line does not contain the equals sign '='"); } String key = line.substring(0, equalIndex).trim(); StringBuilder value = new StringBuilder(); String lineValue = line.substring(equalIndex + 1).trim(); while(lineValue.endsWith("\\") && lineCount+1 < lines.size()) { value.append(lineValue.substring(0, lineValue.length() - "\\".length())); lineCount++; lineValue = lines.get(lineCount).trim(); } value.append(lineValue); elements.add(ConfigElement.of(origin, doc.toString().trim(), key, value.toString())); doc.setLength(0); } } return new StdRestxConfig(elements); }
public static RestxConfig parse(String origin, CharSource charSource) throws IOException { List<ConfigElement> elements = new ArrayList<>(); StringBuilder doc = new StringBuilder(); ImmutableList<String> lines = charSource.readLines(); for (int lineCount = 0; lineCount < lines.size(); lineCount++) { String line = lines.get(lineCount); if (line.startsWith("#")) { doc.append(line.substring(1).trim()).append("\n"); } else if (!line.trim().isEmpty()) { int equalIndex = line.indexOf('='); if (equalIndex == -1) { throw new IOException("invalid config " + origin + " at line " + lineCount + ":" + " line does not contain the equals sign '='"); } String key = line.substring(0, equalIndex).trim(); StringBuilder value = new StringBuilder(); String lineValue = line.substring(equalIndex + 1).trim(); while(lineValue.endsWith("\\") && lineCount+1 < lines.size()) { value.append(lineValue.substring(0, lineValue.length() - "\\".length())); lineCount++; lineValue = lines.get(lineCount).trim(); } value.append(lineValue); elements.add(ConfigElement.of(origin, doc.toString().trim(), key, value.toString())); doc.setLength(0); } } return new StdRestxConfig(elements); }