/** * Writes one value of the property to {@link DataWriter}. */ private void writeValue(Object value, TreePruner pruner, DataWriter writer) throws IOException { writeValue(value,pruner,writer,false); }
/** * Writes one value of the property to {@link DataWriter}. */ private void writeValue(Type expected, Object value, TreePruner pruner, DataWriter writer) throws IOException { writeValue(expected,value,pruner,writer,writer.getExportConfig().isSkipIfFail()); }
private void writeBuffered(Type expected, Object value, TreePruner pruner, DataWriter writer) throws IOException { BufferedDataWriter buffer = new BufferedDataWriter(writer.getExportConfig()); try { writeValue(expected, value, pruner, buffer, true); buffer.finished(); } catch (IOException x) { if (x.getCause() instanceof InvocationTargetException) { LOGGER.log(Level.WARNING, "skipping export of " + value, x); } } buffer.commit(writer); }
/** * Writes one value of the property to {@link DataWriter}. */ private void writeValue(Type expected, Object value, TreePruner pruner, DataWriter writer) throws IOException { writeValue(expected,value,pruner,writer,writer.getExportConfig().isSkipIfFail()); }
private void writeBuffered(Type expected, Object value, TreePruner pruner, DataWriter writer) throws IOException { BufferedDataWriter buffer = new BufferedDataWriter(writer.getExportConfig()); try { writeValue(expected, value, pruner, buffer, true); buffer.finished(); } catch (IOException x) { if (x.getCause() instanceof InvocationTargetException) { LOGGER.log(Level.WARNING, "skipping export of " + value, x); } } buffer.commit(writer); }
/** * Writes one property of the given object to {@link DataWriter}. * * @param pruner * Determines how to prune the object graph tree. */ public void writeTo(Object object, TreePruner pruner, DataWriter writer) throws IOException { TreePruner child = pruner.accept(object, this); if (child==null) return; try { writer.name(name); writeValue(getValue(object),child,writer); } catch (IllegalAccessException e) { IOException x = new IOException("Failed to write " + name); x.initCause(e); throw x; } catch (InvocationTargetException e) { IOException x = new IOException("Failed to write " + name); x.initCause(e); throw x; } }
writeValue(((CustomExportedBean)value).toExportedObject(),pruner,writer); return; writeValue(item,pruner,writer,true); } else { writeValue(Array.get(value,i),pruner,writer,true); writer.startArray(); for (Object item : (Collection) value) writeValue(item,pruner,writer,true); writer.endArray(); return; writer.startObject(); writer.name(verboseMap[0]); writeValue(e.getKey(),pruner,writer); writer.name(verboseMap[1]); writeValue(e.getValue(),pruner,writer); writer.endObject(); for (Map.Entry e : ((Map<?,?>) value).entrySet()) { writer.name(e.getKey().toString()); writeValue(e.getValue(),pruner,writer);
writeValue(expected,((CustomExportedBean)value).toExportedObject(),pruner,writer); return; writeStartObjectNullType(buffer); buffer.name(verboseMap[0]); writeValue(null, e.getKey(), pruner, buffer); buffer.name(verboseMap[1]); writeValue(null, e.getValue(), pruner, buffer); buffer.endObject(); buffer.finished(); try { buffer.name(e.getKey().toString()); writeValue(null, e.getValue(), pruner, buffer); buffer.finished(); } catch (IOException x) {
writeValue(expected,((CustomExportedBean)value).toExportedObject(),pruner,writer); return; writeStartObjectNullType(buffer); buffer.name(verboseMap[0]); writeValue(null, e.getKey(), pruner, buffer); buffer.name(verboseMap[1]); writeValue(null, e.getValue(), pruner, buffer); buffer.endObject(); buffer.finished(); try { buffer.name(e.getKey().toString()); writeValue(null, e.getValue(), pruner, buffer); buffer.finished(); } catch (IOException x) {
/** * Writes one property of the given object to {@link DataWriter}. * * @param pruner * Determines how to prune the object graph tree. */ @SuppressWarnings("unchecked") public void writeTo(Object object, TreePruner pruner, DataWriter writer) throws IOException { TreePruner child = pruner.accept(object, this); if (child==null) return; Object d = writer.getExportConfig().getExportInterceptor().getValue(this,object, writer.getExportConfig()); if ((d==null && skipNull) || d == ExportInterceptor.SKIP) { // don't write anything return; } if (merge) { // merged property will get all its properties written here if (d != null) { Class<?> objectType = d.getClass(); Model model = owner.getOrNull(objectType, parent.type, name); if (model == null && !writer.getExportConfig().isSkipIfFail()) { throw new NotExportableException(objectType); } else if (model != null) { model.writeNestedObjectTo(d, new FilteringTreePruner(parent.HAS_PROPERTY_NAME_IN_ANCESTRY,child), writer); } } } else { writer.name(name); writeValue(type, d, child, writer); } }
/** * Writes one property of the given object to {@link DataWriter}. * * @param pruner * Determines how to prune the object graph tree. */ @SuppressWarnings("unchecked") public void writeTo(Object object, TreePruner pruner, DataWriter writer) throws IOException { TreePruner child = pruner.accept(object, this); if (child==null) return; Object d = writer.getExportConfig().getExportInterceptor().getValue(this,object, writer.getExportConfig()); if ((d==null && skipNull) || d == ExportInterceptor.SKIP) { // don't write anything return; } if (merge) { // merged property will get all its properties written here if (d != null) { Class<?> objectType = d.getClass(); Model model = owner.getOrNull(objectType, parent.type, name); if (model == null && !writer.getExportConfig().isSkipIfFail()) { throw new NotExportableException(objectType); } else if (model != null) { model.writeNestedObjectTo(d, new FilteringTreePruner(parent.HAS_PROPERTY_NAME_IN_ANCESTRY,child), writer); } } } else { writer.name(name); writeValue(type, d, child, writer); } }