@Override public synchronized String toString() { if (str == null) { str = doStringify(from, 0); } return str; }
public static void stringifyArray(Object[] in) { if (in == null) return; for (int i = 0; i < in.length; i++) in[i] = stringifyWrap(in[i]); }
@Override protected Object map(Object o) { Class<? extends Object> c = o.getClass(); if (c.isPrimitive() || o instanceof String) return null; String cn = c.getName(); if (cn.startsWith("java") || cn.startsWith("javax")) return null; return new Stringifier(o); }
/** {@inheritDoc} */ @Override protected Object map(Object o) { Class<? extends Object> c = o.getClass(); if (c.isPrimitive() || o instanceof String) return null; String cn = c.getName(); if (cn.startsWith("java") || cn.startsWith("javax")) return null; return new Stringifier(o); }
public static Object stringifyWrap(Object o) { if (o == null) return null; Class<? extends Object> c = o.getClass(); if (c.isPrimitive() || o instanceof String) return o; String cn = c.getName(); if (cn.startsWith("java") || cn.startsWith("javax")) return o; return new Stringifier(o); }
private String doStringify(Object in, int level) { if (in == null) return "null"; if (level >= this.level) return in.toString(); StringBuilder out = new StringBuilder(); out.append('{'); try { out.append(in.getClass()).append(':'); PojoModel model = new PojoParser().parse(in,"_",null).filter(new DefaultFilter(true, false, true, true, true) ).getModel(); boolean first = true; for (PojoAttribute<?> attr : model) { if (first) first = false; else out.append(','); try { out.append(attr.getName()).append('=').append( doStringify(attr.get(in),level+1) ); } catch (Throwable t) { out.append(t.toString()); } } } catch (Throwable t) { out.append(t.toString()); } out.append('}'); return out.toString(); }