public static <T> void render(StringTemplateBuilder<T> builder, AppendableByteWriter<?> writer, T source) { //assert(immutable) : "String template builder can only be rendered after lock."; StringTemplateScript<T>[] localScript = builder.script; for(int i=0;i<builder.count;i++) { localScript[i].render(writer, source); } }
private StringTemplateScript<T> createNullObjectScript(final byte[] declaredMemberName) { return new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); kw.Null(writer); } }; }
public static <T> void render(StringTemplateBuilder<T> builder, AppendableByteWriter<?> writer, T source) { //assert(immutable) : "String template builder can only be rendered after lock."; StringTemplateScript<T>[] localScript = builder.script; for(int i=0;i<builder.count;i++) { localScript[i].render(writer, source); } }
private StringTemplateScript<T> createNullObjectScript(final byte[] declaredMemberName) { return new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); kw.Null(writer); } }; }
public void render(AppendableByteWriter writer, T source) { //assert(immutable) : "String template builder can only be rendered after lock."; for(int i=0;i<count;i++) { script[i].render(writer, source); } }
void addInteger(final ToBoolFunction<T> isNull, final ToLongFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); if (isNull != null && isNull.applyAsBool(source)) { kw.Null(writer); } else { Appendables.appendValue(writer, func.applyAsLong(source), false); } } }); }
@Override public void render(AppendableByteWriter writer, T source) { int s = select.branch(source); if (s != -1) { assert (s < localData.length) : "String template builder selected invalid branch."; localData[s].render(writer, source); } } });
<M> void addBuilder(final JSONBuilder<?, M> builder, final ToMemberFunction<T, M> accessor) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); M member = accessor.get(source); if (member == null) { kw.Null(writer); } else { builder.render(writer, member); } } }); }
@Override public void render(AppendableByteWriter writer, T source) { int s = select.branch(source); if (s != -1) { assert (s < localData.length) : "String template builder selected invalid branch."; localData[s].render(writer, source); } } });
void addInteger(final ToBoolFunction<T> isNull, final ToLongFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); if (isNull != null && isNull.applyAsBool(source)) { kw.Null(writer); } else { Appendables.appendValue(writer, func.applyAsLong(source), false); } } }); }
@Override public void render(AppendableByteWriter writer, T source) { int s = select.branch(source); if (s != -1) { assert (s < localData.length) : "String template builder selected invalid branch."; localData[s].render(writer, source); } } });
void addDecimal(final int precision, final ToBoolFunction<T> isNull, final ToDoubleFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(final AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); if (isNull != null && isNull.applyAsBool(source)) { kw.Null(writer); } else { double v = func.applyAsDouble(source); Appendables.appendDecimalValue(writer, (long) (v * PipeWriter.powd[64 + precision]), (byte) (precision * -1)); } } }); }
<E extends Enum<E>> void addEnumOrdinal(final ToEnumFunction<T, E> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); E v = func.applyAsEnum(source); if (v == null) { kw.Null(writer); } else { Appendables.appendValue(writer, v.ordinal()); } } }); }
<E extends Enum<E>> void addEnumOrdinal(final ToEnumFunction<T, E> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); E v = func.applyAsEnum(source); if (v == null) { kw.Null(writer); } else { Appendables.appendValue(writer, v.ordinal()); } } }); }
<M> void addBuilder(final JSONBuilder<?, M> builder, final ToMemberFunction<T, M> accessor) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); M member = accessor.get(source); if (member == null) { kw.Null(writer); } else { builder.render(writer, member); } } }); }
void addDecimal(final int precision, final ToBoolFunction<T> isNull, final ToDoubleFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(final AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); if (isNull != null && isNull.applyAsBool(source)) { kw.Null(writer); } else { double v = func.applyAsDouble(source); Appendables.appendDecimalValue(writer, (long) (v * PipeWriter.powd[64 + precision]), (byte) (precision * -1)); } } }); }
void addBool(final ToBoolFunction<T> isNull, final ToBoolFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(final AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); if (isNull != null && isNull.applyAsBool(source)) { kw.Null(writer); } else { if (func.applyAsBool(source)) { kw.True(writer); } else { kw.False(writer); } } } }); }
void addBool(final ToBoolFunction<T> isNull, final ToBoolFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() { @Override public void render(final AppendableByteWriter writer, T source) { prefixObjectMemberName(declaredMemberName, depth, writer); if (isNull != null && isNull.applyAsBool(source)) { kw.Null(writer); } else { if (func.applyAsBool(source)) { kw.True(writer); } else { kw.False(writer); } } } }); }
void addString(final boolean checkNull, final ToStringFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() {
void addString(final boolean checkNull, final ToStringFunction<T> func) { final byte[] declaredMemberName = consumeDeclaredMemberName(); scripts.add(new StringTemplateScript<T>() {