| 263 | } |
| 264 | |
| 265 | public us.bpsm.edn.printer.Printer.Fn<?> simpleSerializeToMapWithClass(Tag tag) { |
| 266 | return (o, writer) -> { |
| 267 | try { |
| 268 | Map<Object, Object> mm = new LinkedHashMap<>(); |
| 269 | |
| 270 | Field[] f = o.getClass().getFields(); |
| 271 | mm.put(Keyword.newKeyword("$class"), o.getClass().getName()); |
| 272 | |
| 273 | for (Field ff : f) { |
| 274 | if (Modifier.isTransient(ff.getModifiers())) continue; |
| 275 | ff.setAccessible(true); |
| 276 | mm.put(Keyword.newKeyword(ff.getName()), ff.get(o)); |
| 277 | } |
| 278 | |
| 279 | writer.printValue(tag) |
| 280 | .printValue(mm); |
| 281 | |
| 282 | } catch (IllegalAccessException e) { |
| 283 | e.printStackTrace(); |
| 284 | } |
| 285 | }; |
| 286 | } |
| 287 | |
| 288 | public us.bpsm.edn.printer.Printer.Fn<?> serializeFromSerializable(Tag tag) { |
| 289 | return (o, writer) -> { |