| 304 | } |
| 305 | |
| 306 | private Object toValue(Dict.Prop key, Object value, Function<Box, String> alias, Predicate<Box> save) throws IOException { |
| 307 | |
| 308 | if (value == null) return null; |
| 309 | if (value instanceof String) return "%%java.lang.String%%" + value; |
| 310 | if (value instanceof Box) |
| 311 | return _saveBox((Box) value, alias, save); |
| 312 | |
| 313 | if (value instanceof Serializable) return "%%java.io.Serializable%%" + serialize((Serializable) value); |
| 314 | if (value instanceof Class) return "%%java.lang.Class%%" + ((Class) value).getName(); |
| 315 | |
| 316 | // error |
| 317 | return "" + value; |
| 318 | } |
| 319 | |
| 320 | private String serialize(Serializable value) throws IOException { |
| 321 | ByteArrayOutputStream a = new ByteArrayOutputStream(); |