@Override public String compose() { String result = m_model.resolveValueToString(m_variable); p("VariableChunk returning: " + result); return result; }
public String resolveValueToString(String variable) { StringBuilder result = new StringBuilder(); Value value = resolveValue(variable); if (value.get() != null) { return value.get().toString(); } else { return ""; } }
end = index; String variable = template.substring(start, end); p("Found variable:" + variable); if (variable.startsWith("#")) { Value value = model.resolveValue(conditionalVariable); int endIndex = findClosingIndex(template, ti, conditionalVariable); Object v = value.get(); if (v == null) { String subTemplate = template.substring(ti + variable.length() + 4, endIndex); for (Object o : it) { model.push(conditionalVariable, o); String r = new Mustache().run(subTemplate, model); model.popSubModel(); chunks.add(new StringChunk(model, r)); model.push(conditionalVariable, v); String r = new Mustache().run(subTemplate, model); model.popSubModel(); chunks.add(new StringChunk(model, r)); chunks.add(new VariableChunk(model, variable)); ti += variable.length() + 4; chunks.add(new StringChunk(model, "" + template.charAt(ti))); ti++; p("******************** Final composition, chunks:");
public Value resolveValue(String variable) { if (! m_subModels.isEmpty()) { for (SubModel object : m_subModels) { Value value = resolveOnClass(object.subModel, variable); if (value != null) { return value; } } } return new Value(m_model.get(variable)); }
public void push(String variable, Object subModel) { SubModel sl = new SubModel(); sl.variable = variable; sl.subModel = subModel; m_subModels.push(sl); }
private Value resolveOnClass(Object object, String variable) { // if (object instanceof Iterable) { // Iterable it = (Iterable) object; // List<Object> result = Lists.newArrayList(); // for (Object o : it) { // List<Object> values = resolveOnClass(o, variable); // result.addAll(values); // } // return result; // } else { Class<? extends Object> cls = object.getClass(); try { Field f = cls.getField(variable); return new Value(f.get(object)); } catch (IllegalAccessException | NoSuchFieldException | SecurityException e) { // e.printStackTrace(); } // } return null; }
end = index; String variable = template.substring(start, end); p("Found variable:" + variable); if (variable.startsWith("#")) { Value value = model.resolveValue(conditionalVariable); int endIndex = findClosingIndex(template, ti, conditionalVariable); Object v = value.get(); if (v == null) { String subTemplate = template.substring(ti + variable.length() + 4, endIndex); for (Object o : it) { model.push(conditionalVariable, o); String r = new Mustache().run(subTemplate, model); model.popSubModel(); chunks.add(new StringChunk(model, r)); model.push(conditionalVariable, v); String r = new Mustache().run(subTemplate, model); model.popSubModel(); chunks.add(new StringChunk(model, r)); chunks.add(new VariableChunk(model, variable)); ti += variable.length() + 4; chunks.add(new StringChunk(model, "" + template.charAt(ti))); ti++; p("******************** Final composition, chunks:");
@Override public String compose() { String result = m_model.resolveValueToString(m_variable); p("VariableChunk returning: " + result); return result; }
public Value resolveValue(String variable) { if (!m_subModels.isEmpty()) { for (SubModel object : m_subModels) { Value value = resolveOnClass(object.subModel, variable); if (value != null) { return value; } } } return new Value(m_model.get(variable)); }
public String resolveValueToString(String variable) { StringBuilder result = new StringBuilder(); Value value = resolveValue(variable); if (value.get() != null) { return value.get().toString(); } else { return ""; } }
public void push(String variable, Object subModel) { SubModel sl = new SubModel(); sl.variable = variable; sl.subModel = subModel; m_subModels.push(sl); }
private Value resolveOnClass(Object object, String variable) { // if (object instanceof Iterable) { // Iterable it = (Iterable) object; // List<Object> result = Lists.newArrayList(); // for (Object o : it) { // List<Object> values = resolveOnClass(o, variable); // result.addAll(values); // } // return result; // } else { Class<? extends Object> cls = object.getClass(); try { Field f = cls.getField(variable); return new Value(f.get(object)); } catch (IllegalAccessException | NoSuchFieldException | SecurityException e) { // e.printStackTrace(); } // } return null; }