List of usage examples for com.fasterxml.jackson.dataformat.csv CsvMapper addMixInAnnotations
public final void addMixInAnnotations(Class<?> target, Class<?> mixinSource)
From source file:com.marklogic.client.test.JacksonDatabindTest.java
/** Demonstrate using Jackson's CSV mapper directly to simplify reading in data, populating a * third-party pojo (one we cannot annotate) then writing it out * via JacksonDatabindHandle with configuration provided by mix-in annotations. **///from w ww . jav a2 s.co m @Test public void testDatabindingThirdPartyPojoWithMixinAnnotations() throws JsonProcessingException, IOException { CsvSchema schema = CsvSchema.builder().setColumnSeparator('\t').addColumn("geoNameId").addColumn("name") .addColumn("asciiName").addColumn("alternateNames") .addColumn("latitude", CsvSchema.ColumnType.NUMBER) .addColumn("longitude", CsvSchema.ColumnType.NUMBER).addColumn("featureClass") .addColumn("featureCode").addColumn("countryCode").addColumn("countryCode2").addColumn("adminCode1") .addColumn("adminCode2").addColumn("adminCode3").addColumn("adminCode4").addColumn("population") .addColumn("elevation", CsvSchema.ColumnType.NUMBER).addColumn("dem", CsvSchema.ColumnType.NUMBER) .addColumn("timezoneCode").addColumn("lastModified").build(); CsvMapper mapper = new CsvMapper(); mapper.addMixInAnnotations(Toponym.class, ToponymMixIn1.class); ObjectReader reader = mapper.reader(Toponym.class).with(schema); BufferedReader cityReader = new BufferedReader(Common.testFileToReader(CITIES_FILE)); GenericDocumentManager docMgr = Common.client.newDocumentManager(); DocumentWriteSet set = docMgr.newWriteSet(); String line = null; for (int numWritten = 0; numWritten < MAX_TO_WRITE && (line = cityReader.readLine()) != null; numWritten++) { 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); cityReader.close(); // we can add assertions later, for now this test just serves as example code and // ensures no exceptions are thrown }