public JSONObject<R, T, P> nullableInteger(String name, ToBoolFunction<T> isNull, ToLongFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addInteger(isNull, func); return this; }
public JSONObject<R, T, P> nullableDecimal(String name, int precision, ToBoolFunction<T> isNull, ToDoubleFunction<T> func, JSONType encode) { assert(!declaredEmpty); builder.addFieldPrefix(name).addDecimal(precision, isNull, func, encode); return this; }
public JSONObject<R, T, P> string(String name, ToStringFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addString(false, func); return this; }
public JSONObject<R, T, P> string(byte[] utf8EncodedName, ToStringFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(utf8EncodedName).addString(false, func); return this; }
public <E extends Enum<E>> JSONObject<R, T, P> enumName(String name, ToEnumFunction<T, E> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addEnumName(func); return this; }
public JSONObject<R, T, P> nullableBool(String name, ToBoolFunction<T> isNull, ToBoolFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addBool(isNull, func); return this; }
public JSONObject<R, T, P> integer(String name, ToLongFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addInteger(null, func); return this; }
public JSONObject<R, T, P> nullableInteger(String name, ToBoolFunction<T> isNull, ToLongFunction<T> func, JSONType encode) { assert(!declaredEmpty); builder.addFieldPrefix(name).addInteger(isNull, func, encode); return this; }
public <M, N> JSONArray<R, M, JSONObject<R, T, P>, N> array(String name, ToMemberFunction<T, M> accessor, IteratorFunction<M, N> iterator) { return JSONArray.createArray(builder.addFieldPrefix(name), accessor, iterator, new JSONArray.ArrayCompletion<JSONObject<R, T, P>>() { @Override public JSONObject<R, T, P> end() { return JSONObject.this; } }); }
public <M extends List<N>, N> JSONArray<R, M, JSONObject<R, T, P>, M> listArray(String name, ToMemberFunction<T, M> accessor) { return JSONArray.createListArray(builder.addFieldPrefix(name), accessor, new JSONArray.ArrayCompletion<JSONObject<R, T, P>>() { @Override public JSONObject<R, T, P> end() { return JSONObject.this; } }); }
public <N> JSONArray<R, N[], JSONObject<R, T, P>, N[]> basicArray(String name, ToMemberFunction<T, N[]> accessor) { return JSONArray.createBasicArray(builder.addFieldPrefix(name), accessor, new JSONArray.ArrayCompletion<JSONObject<R, T, P>>() { @Override public JSONObject<R, T, P> end() { return JSONObject.this; } }); }
public JSONSelect<R, T, JSONObject<R, T, P>> beginSelect(String name) { return new JSONSelect<R, T, JSONObject<R, T, P>>(builder.addFieldPrefix(name).beginSelect()) { @Override JSONObject<R, T, P> selectEnded() { return JSONObject.this; } }; }
public JSONObject<R, T, P> integer(String name, ToLongFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addInteger(null, func); return this; }
public <E extends Enum<E>> JSONObject<R, T, P> enumOrdinal(String name, ToEnumFunction<T, E> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addEnumOrdinal(func); return this; } }
public JSONObject<R, T, P> string(String name, ToStringFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addString(false, func); return this; }
public <E extends Enum<E>> JSONObject<R, T, P> enumName(String name, ToEnumFunction<T, E> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addEnumName(func); return this; }
public <E extends Enum<E>> JSONObject<R, T, P> enumOrdinal(String name, ToEnumFunction<T, E> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addEnumOrdinal(func); return this; } }
public <N> JSONArray<R, N[], JSONObject<R, T, P>, N[]> basicArray(String name, ToMemberFunction<T, N[]> accessor) { return JSONArray.createBasicArray(builder.addFieldPrefix(name), accessor, new JSONArray.ArrayCompletion<JSONObject<R, T, P>>() { @Override public JSONObject<R, T, P> end() { return JSONObject.this; } }); }
public JSONObject<R, T, P> bool(String name, ToBoolFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addBool(null, func); return this; }
public JSONObject<R, T, P> nullableBool(String name, ToBoolFunction<T> isNull, ToBoolFunction<T> func) { assert(!declaredEmpty); builder.addFieldPrefix(name).addBool(isNull, func); return this; }