@Override public List<Object> getValues() { return getters.stream().map(g -> g.get(getterTarget)).collect(Collectors.toList()); }
assertEquals("str", getters.get(0).name()); assertEquals("field1", getters.get(0).get(simplePojo)); assertEquals((byte) 41, getters.get(1).get(simplePojo)); assertEquals((short) 42, getters.get(2).get(simplePojo)); assertEquals((int) 43, getters.get(3).get(simplePojo)); assertEquals((long) 44, getters.get(4).get(simplePojo)); assertEquals(true, getters.get(5).get(simplePojo)); assertEquals(DATE.toInstant(), getters.get(6).get(simplePojo)); assertEquals(INSTANT, getters.get(7).get(simplePojo)); assertArrayEquals("Unexpected bytes", BYTE_ARRAY, (byte[]) getters.get(8).get(simplePojo)); assertArrayEquals( "Unexpected bytes", BYTE_BUFFER.array(), (byte[]) getters.get(9).get(simplePojo)); assertEquals(new BigDecimal(42), getters.get(10).get(simplePojo)); assertEquals("stringBuilder", getters.get(11).get(simplePojo));
assertEquals("str", getters.get(0).name()); assertEquals("field1", getters.get(0).get(simpleBean)); assertEquals((byte) 41, getters.get(1).get(simpleBean)); assertEquals((short) 42, getters.get(2).get(simpleBean)); assertEquals((int) 43, getters.get(3).get(simpleBean)); assertEquals((long) 44, getters.get(4).get(simpleBean)); assertEquals(true, getters.get(5).get(simpleBean)); assertEquals(DateTime.parse("1979-03-14").toInstant(), getters.get(6).get(simpleBean)); assertEquals(DateTime.parse("1979-03-15").toInstant(), getters.get(7).get(simpleBean)); assertArrayEquals( "Unexpected bytes", "bytes1".getBytes(Charset.defaultCharset()), (byte[]) getters.get(8).get(simpleBean)); assertArrayEquals( "Unexpected bytes", "bytes2".getBytes(Charset.defaultCharset()), (byte[]) getters.get(9).get(simpleBean)); assertEquals(new BigDecimal(42), getters.get(10).get(simpleBean)); assertEquals("stringBuilder", getters.get(11).get(simpleBean).toString());
@Nullable @Override @SuppressWarnings({"TypeParameterUnusedInFormals", "unchecked"}) public <T> T getValue(int fieldIdx) { Field field = getSchema().getField(fieldIdx); FieldType type = field.getType(); Object fieldValue = getters.get(fieldIdx).get(getterTarget); if (fieldValue == null && !field.getNullable()) { throw new RuntimeException("Null value set on non-nullable field" + field); } return fieldValue != null ? getValue(type, fieldValue, fieldIdx) : null; }
@Test public void testGeneratedSimpleBoxedGetters() { POJOWithBoxedFields pojo = new POJOWithBoxedFields((byte) 41, (short) 42, 43, 44L, true); List<FieldValueGetter> getters = POJOUtils.getGetters(POJOWithBoxedFields.class, POJO_WITH_BOXED_FIELDS_SCHEMA); assertEquals((byte) 41, getters.get(0).get(pojo)); assertEquals((short) 42, getters.get(1).get(pojo)); assertEquals((int) 43, getters.get(2).get(pojo)); assertEquals((long) 44, getters.get(3).get(pojo)); assertEquals(true, getters.get(4).get(pojo)); }
@Test public void testGeneratedSimpleBoxedGetters() { BeanWithBoxedFields bean = new BeanWithBoxedFields(); bean.setaByte((byte) 41); bean.setaShort((short) 42); bean.setAnInt(43); bean.setaLong(44L); bean.setaBoolean(true); List<FieldValueGetter> getters = JavaBeanUtils.getGetters(BeanWithBoxedFields.class, BEAN_WITH_BOXED_FIELDS_SCHEMA); assertEquals((byte) 41, getters.get(0).get(bean)); assertEquals((short) 42, getters.get(1).get(bean)); assertEquals((int) 43, getters.get(2).get(bean)); assertEquals((long) 44, getters.get(3).get(bean)); assertEquals(true, getters.get(4).get(bean)); }