private SourceFieldMapper<S, T> buildWithGenericBuilder(GenericBuilderMapping<S, T, K> gbm) { SourceFieldMapper<S, GenericBuilder<S, T>> delegate = DefaultConstantSourceMapperBuilder.<S, GenericBuilder<S, T>, K>buildMapper( gbm.genericBuilderFieldMappers, gbm.instantiatorAndFieldMappers, gbm.keys, (Class<GenericBuilder<S, T>>)(Class)GenericBuilder.class, reflectionService, mapperSource, mapperConfig); return new TransformSourceFieldMapper<S, GenericBuilder<S, T>, T>(delegate, gbm.targetFieldMappers, GenericBuilder.<S, T>buildFunction()); }
private SourceFieldMapper<S, T> buildWithGenericBuilder(GenericBuilderMapping<S, T, K> gbm) { SourceFieldMapper<S, GenericBuilder<S, T>> delegate = DefaultConstantSourceMapperBuilder.<S, GenericBuilder<S, T>, K>buildMapper( gbm.genericBuilderFieldMappers, gbm.instantiatorAndFieldMappers, gbm.keys, (Class<GenericBuilder<S, T>>)(Class)GenericBuilder.class, reflectionService, mapperSource, mapperConfig); return new TransformSourceFieldMapper<S, GenericBuilder<S, T>, T>(delegate, gbm.targetFieldMappers, GenericBuilder.<S, T>buildFunction()); }
return new TransformSourceFieldMapper<S, GenericBuilder<S, T>, T>(mapper, targetFieldMappers, GenericBuilder.<S, T>buildFunction());
return new TransformSourceFieldMapper<S, GenericBuilder<S, T>, T>(mapper, targetFieldMappers, GenericBuilder.<S, T>buildFunction());
@SuppressWarnings("unchecked") private SourceFieldMapper<S, T> builderWithTransformer(final List<InjectionParam> params, final BuilderInstantiatorDefinition builder) { final FieldMapper[] fields = targetFieldMappers(); final Method buildMethod = builder.getBuildMethod(); final Class<?> targetClass = buildMethod.getDeclaringClass(); final Function f = Modifier.isStatic(buildMethod.getModifiers()) ? new StaticMethodFunction(buildMethod) : new MethodFunction(buildMethod); ConstructorInjections constructorInjections = toConstructorInjections(params); InstantiatorFactory instantiatorFactory = reflectionService.getInstantiatorFactory(); final BuilderBiInstantiator builderBiInstantiator = instantiatorFactory.builderBiInstantiator(builder, MapperBiInstantiatorFactory.convertToBiInstantiator(constructorInjections.parameterGetterMap), reflectionService.isAsmActivated(), reflectionService.builderIgnoresNullValues()); InstantiatorAndFieldMappers newConstantSourceMapperBuilder = new InstantiatorAndFieldMappers(constructorInjections, new BiInstantiator() { @Override public Object newInstance(Object o, Object o2) throws Exception { return builderBiInstantiator.newInitialisedBuilderInstace(o, o2); } }); SourceFieldMapper delegate = buildMapper(fields, newConstantSourceMapperBuilder, getKeys().toArray(FIELD_KEYS), targetClass, reflectionService, mapperSource, mapperConfig); return new TransformSourceFieldMapper<S, Object, T>(delegate, fields, f); }
@SuppressWarnings("unchecked") private SourceFieldMapper<S, T> builderWithTransformer(final List<InjectionParam> params, final BuilderInstantiatorDefinition builder) { final FieldMapper[] fields = targetFieldMappers(); final Method buildMethod = builder.getBuildMethod(); final Class<?> targetClass = buildMethod.getDeclaringClass(); final Function f = Modifier.isStatic(buildMethod.getModifiers()) ? new StaticMethodFunction(buildMethod) : new MethodFunction(buildMethod); ConstructorInjections constructorInjections = toConstructorInjections(params); InstantiatorFactory instantiatorFactory = reflectionService.getInstantiatorFactory(); final BuilderBiInstantiator builderBiInstantiator = instantiatorFactory.builderBiInstantiator(builder, MapperBiInstantiatorFactory.convertToBiInstantiator(constructorInjections.parameterGetterMap), reflectionService.isAsmActivated(), reflectionService.builderIgnoresNullValues()); InstantiatorAndFieldMappers newConstantSourceMapperBuilder = new InstantiatorAndFieldMappers(constructorInjections, new BiInstantiator() { @Override public Object newInstance(Object o, Object o2) throws Exception { return builderBiInstantiator.newInitialisedBuilderInstace(o, o2); } }); SourceFieldMapper delegate = buildMapper(fields, newConstantSourceMapperBuilder, getKeys().toArray(FIELD_KEYS), targetClass, reflectionService, mapperSource, mapperConfig); return new TransformSourceFieldMapper<S, Object, T>(delegate, fields, f); }