@Override public JsonWriter bean(Object bean) { return bean(bean, null); }
public JsonWriter array(float... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }
protected JsonWriter bean(Object bean, JsonType type) { if (null == bean) { return null_(); } else if (bean instanceof JsonStringable) { ((JsonStringable) bean).toJson(this); return this; } else { startObject(); properties(bean, false, type); endObject(); return this; } }
@Override public JsonWriter propertyIgnorable(String key, boolean b) { if (isIgnoreFalse() && !b) { return this; } return property(key, b); }
public JsonWriter array(int... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } } } endArray(); return this; }
public JsonWriter map(Map map) { if (null == map) { return null_(); } else { startObject(); for (Object item : map.entrySet()) { Entry entry = (Entry) item; String key = ns(Objects.toString(entry.getKey())); Object val = entry.getValue(); if (isIgnoreNull() && val == null) { continue; if (isIgnoreEmptyString() && Strings.isEmpty((String) val)) { continue; if (isIgnoreEmptyArray() && Arrays2.isEmpty((Object[]) val)) { continue; if (isIgnoreFalse() && Objects.equals(val, Boolean.FALSE)) { continue; val = ""; property(key, val); endObject();
property(metaPropertyName, bean.getClass().getName()); } else { boolean typed = false; property(metaPropertyName, subType.name()); boolean ignoreNull = (null != jb && jb.ignoreNull().isPresent()) ? jb.ignoreNull().getValue() : this.isIgnoreNull(); if (isIgnoreEmptyString() && Strings.isNullOrBlank(propValue)) { continue; propValue = ""; keyUseNamingStyle(propName); if (!writeDateValue(prop, propValue)) { value(propValue, (v) -> { bean(v, prop.getType().getAnnotation(JsonType.class)); }); if (isIgnoreEmptyString() && Strings.isNullOrBlank(value)) { return; keyUseNamingStyle(name); value(value); });
@Override public JsonWriter propertyIgnorable(String key, Object v) { if (isIgnoreNull() && null == v) { return this; if (isIgnoreEmptyString()) { if (v instanceof CharSequence) { CharSequence cs = (CharSequence) v; return this; } else { return key(key).value(cs.toString()); if (isIgnoreEmptyArray()) { if (v instanceof Object[]) { Object[] a = (Object[]) v; return this; } else { return key(key).array(a); return this; } else { return key(key).array(it); return this; } else { return key(key).objectArray(v); if (isIgnoreFalse()) {
return null_(); } else if (v instanceof String) { return value((String) v); } else if (v instanceof Byte) { return value(((Byte) v).byteValue()); } else if (v instanceof Boolean) { return value(((Boolean) v).booleanValue()); } else if (v instanceof Character) { return value(((Character) v).charValue()); } else if (v instanceof Number) { return value((Number) v); } else if (v instanceof Time) { return value((Time) v); } else if (v instanceof Date) { return value((Date) v); } else if (v instanceof LocalDate) { return value((LocalDate) v); } else if (v instanceof LocalDateTime) { return value((LocalDateTime) v); } else if (v instanceof LocalTime) { return value((LocalTime) v); } else if (v instanceof Class<?>) { return value(((Class<?>) v).getName()); } else if (v instanceof byte[]) { return value((byte[]) v); } else if (v instanceof Enum<?>) { return value(Enums.getValue((Enum<?>) v)); } else if (v instanceof Object[]) { return array((Object[]) v);
@Override public JsonWriter propertyIgnorable(String key, String s) { if (isIgnoreNull() && null == s) { return this; } if (isIgnoreEmptyString() && s.length() == 0) { return this; } return property(key, s); }
@Override public JsonWriter keyUseNamingStyle(String key) { return key(getNamingStyle().of(key)); }
public JsonWriter array(Iterable<?> array) { return array(null == array ? (Iterator<?>) null : array.iterator()); }
protected String ns(String s) { return getNamingStyle().of(s); }
@Override public JsonWriter create() { if (null == settings.getNamingStyle()) { settings.setNamingStyle(NamingStyles.RAW); } return new JsonWriterImpl(settings.build(), out, detectCyclicReferences, ignoreCyclicReferences, maxDepth); } }
public JsonWriter array(short... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }
public JsonWriter array(Number... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }
public JsonWriter array(String... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }
public JsonWriter array(Date... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }
public JsonWriter array(double... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }
public JsonWriter array(long... array) { startArray(); if (null != array) { int len = array.length; for (int i = 0; i < len; i++) { if (i > 0) { separator(); } value(array[i]); } } endArray(); return this; }