@Override public void write(OutputStream out) throws IOException { getMapper().writeValue(new OutputStreamWriter(out, "UTF-8"), get()); }
@Override protected void receiveContent(InputStream content) { if (content == null) return; try { this.content = (T) getMapper().readValue( new InputStreamReader(content, "UTF-8"), contentClass); } catch (JsonParseException e) { throw new MarkLogicIOException(e); } catch (JsonMappingException e) { throw new MarkLogicIOException(e); } catch (IOException e) { throw new MarkLogicIOException(e); } finally { try { content.close(); } catch (IOException e) { // ignore. } } } @Override
@Override public T next() { JacksonDatabindHandle<T> handle = new JacksonDatabindHandle<>(entityClass); handle.getMapper().enableDefaultTyping( ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_OBJECT); return docPage.nextContent(handle).get(); }
Toponym city = reader.readValue(line); JacksonDatabindHandle handle = new JacksonDatabindHandle(city); handle.getMapper().addMixInAnnotations(Toponym.class, ToponymMixIn2.class); set.add(DIRECTORY + "/thirdPartyJsonCities/" + city.getGeoNameId() + ".json", handle); } docMgr.write(set);