@SuppressWarnings("unchecked") protected <P> FieldMapper<S, T> newFieldMapper(PropertyMapping<T, P, K> t) { ColumnDefinition<K, ?> columnDefinition = t.getColumnDefinition(); FieldMapper<S, T> fieldMapper = null; if (columnDefinition.has(FieldMapperProperty.class)) { fieldMapper = (FieldMapper<S, T>) columnDefinition.lookFor(FieldMapperProperty.class).getFieldMapper(); } if (fieldMapper == null) { fieldMapper = fieldMapperFactory.newFieldMapper(t, mappingContextFactoryBuilder, mapperConfig.mapperBuilderErrorHandler()); } return wrapFieldMapperWithErrorHandler(t.getColumnKey(), fieldMapper); }
private <P> SourceMapper<S, P> getterPropertyMapper(PropertyMeta<T, P> owner, PropertyMapping<T, ?, K> propertyMapping) { PropertyMeta<T, ?> pm = propertyMapping.getPropertyMeta(); final ContextualGetter<? super S, P> getter = (ContextualGetter<? super S, P>) fieldMapperFactory.getGetterFromSource(propertyMapping.getColumnKey(), pm.getPropertyType(), propertyMapping.getColumnDefinition(), pm.getPropertyClassMetaSupplier(), mappingContextFactoryBuilder); return new GetterMapper<S, P>(getter); }
@SuppressWarnings("unchecked") protected <P> FieldMapper<S, T> newFieldMapper(PropertyMapping<T, P, K> t) { ColumnDefinition<K, ?> columnDefinition = t.getColumnDefinition(); FieldMapper<S, T> fieldMapper = null; if (columnDefinition.has(FieldMapperProperty.class)) { fieldMapper = (FieldMapper<S, T>) columnDefinition.lookFor(FieldMapperProperty.class).getFieldMapper(); } if (fieldMapper == null) { fieldMapper = fieldMapperFactory.newFieldMapper(t, mappingContextFactoryBuilder, mapperConfig.mapperBuilderErrorHandler()); } return wrapFieldMapperWithErrorHandler(t.getColumnKey(), fieldMapper); }
private <P> SourceMapper<S, P> getterPropertyMapper(PropertyMeta<T, P> owner, PropertyMapping<T, ?, K> propertyMapping) { PropertyMeta<T, ?> pm = propertyMapping.getPropertyMeta(); final ContextualGetter<? super S, P> getter = (ContextualGetter<? super S, P>) fieldMapperFactory.getGetterFromSource(propertyMapping.getColumnKey(), pm.getPropertyType(), propertyMapping.getColumnDefinition(), pm.getPropertyClassMetaSupplier(), mappingContextFactoryBuilder); return new GetterMapper<S, P>(getter); }
@Test public void testPrimitiveField() { ClassMeta<DbObject> classMeta = ReflectionService.newInstance(false).getClassMeta(DbObject.class); PropertyMeta<DbObject, Long> id = classMeta.newPropertyFinder().<Long>findProperty(new DefaultPropertyNameMatcher("id", 0, false, false), new Object[0], (TypeAffinity)null, ConstantPredicate.<PropertyMeta<?, ?>>truePredicate()); FieldMapperColumnDefinition<JdbcColumnKey> identity = FieldMapperColumnDefinition.identity(); PropertyMapping<DbObject, Long, JdbcColumnKey> propertyMapping = new PropertyMapping<DbObject, Long, JdbcColumnKey>(id, new JdbcColumnKey("id", 1), identity); FieldMapper<ResultSet, DbObject> fieldMapper = factory.newFieldMapper( propertyMapping, null, RethrowMapperBuilderErrorHandler.INSTANCE); assertTrue(fieldMapper instanceof LongConstantSourceFieldMapper); PropertyMapping<DbObject, Long, JdbcColumnKey> propertyMapping1 = new PropertyMapping<DbObject, Long, JdbcColumnKey>(id, new JdbcColumnKey("id", 0), identity); fieldMapper = factory.newFieldMapper(propertyMapping1, null, RethrowMapperBuilderErrorHandler.INSTANCE); assertTrue(fieldMapper instanceof LongConstantSourceFieldMapper); } }