@Nullable @Override public Invokable invoke(Invokation invokation, Object... params) { String indentationToResore = invokation.consumer.indentation; // switch to the current indentation inside fragment invokation.consumer.indentation = invokation.consumer.getCurrentIndentation().toString(); run(new Invokation(invokation.consumer, params)); invokation.consumer.indentation = indentationToResore; return null; }
/** * Ability to pass caputured fragment and evaluate it as a string. * For non-captured fragments or fragments which expects parameters, plain {@code toString} * returned. */ @Override public String toString() { if (cachedToString == null) { cachedToString = toCharSequence().toString(); } return cachedToString; } }
@Override public void run(org.immutables.generator.Templates.Invokation __) { __.dl();__.ln(); final org.immutables.generator.Templates.Invokable getOther = new org.immutables.generator.Templates.Fragment(0) { @Override public void run(org.immutables.generator.Templates.Invokation __) { __.dl();final org.immutables.generator.Templates.Invokable getOther = this; final org.immutables.generator.Templates.Invokable getThis = new org.immutables.generator.Templates.Fragment(0) { @Override public void run(org.immutables.generator.Templates.Invokation __) { __.dl();final org.immutables.generator.Templates.Invokable getThis = this;
private CharSequence toCharSequence(Object param) { checkNotNull(param); // Is it worthwhile optimization? if (param instanceof Templates.Fragment) { return ((Templates.Fragment) param).toCharSequence(); } return param.toString(); } }
CharSequence toCharSequence() { if (arity == 0) { CharConsumer consumer = new CharConsumer(); invoke(new Invokation(consumer)); CharSequence cs = consumer.asCharSequence(); return cs; } return super.toString(); }