String expand(String expression, boolean horizontal) { int cursor = 0; int start = expression.indexOf(LayoutMap.VARIABLE_PREFIX_CHAR, cursor); if (start == -1) { // No variables return expression; } StringBuffer buffer = new StringBuffer(); do { buffer.append(expression.substring(cursor, start)); String variableName = nextVariableName(expression, start); buffer.append(expansion(variableName, horizontal)); cursor = start + variableName.length() + 1; start = expression.indexOf(LayoutMap.VARIABLE_PREFIX_CHAR, cursor); } while (start != -1); buffer.append(expression.substring(cursor)); return buffer.toString(); }
String expand(String expression, boolean horizontal) { int cursor = 0; int start = expression.indexOf(LayoutMap.VARIABLE_PREFIX_CHAR, cursor); if (start == -1) { // No variables return expression; } StringBuffer buffer = new StringBuffer(); do { buffer.append(expression.substring(cursor, start)); String variableName = nextVariableName(expression, start); buffer.append(expansion(variableName, horizontal)); cursor = start + variableName.length() + 1; start = expression.indexOf(LayoutMap.VARIABLE_PREFIX_CHAR, cursor); } while (start != -1); buffer.append(expression.substring(cursor)); return buffer.toString(); }