jodd-bean/src/main/java/jodd/bean/BeanUtilUtil.java
protected Object invokeSetter(final Setter setter, final BeanProperty bp, Object value) {
		try {

			final MapperFunction setterMapperFunction = setter.getMapperFunction();

			if (setterMapperFunction != null) {
				value = setterMapperFunction.apply(value);
			}

			final Class type = setter.getSetterRawType();

			if (ClassUtil.isTypeOf(type, Collection.class)) {
				Class componentType = setter.getSetterRawComponentType();

				value = convertToCollection(value, type, componentType);
			} else {
				// no collections
				value = convertType(value, type);
			}

			setter.invokeSetter(bp.bean, value);
		} catch (Exception ex) {
			if (isSilent) {
				return null;
			}
			throw new BeanException("Setter failed: " + setter, ex);
		}
		return value;
	}
protected Object invokeSetter(final Setter setter, final BeanProperty bp, Object value) {
		try {

			final MapperFunction setterMapperFunction = setter.getMapperFunction();

			if (setterMapperFunction != null) {
				value = setterMapperFunction.apply(value);
			}

			final Class type = setter.getSetterRawType();

			if (ClassUtil.isTypeOf(type, Collection.class)) {
				Class componentType = setter.getSetterRawComponentType();

				value = convertToCollection(value, type, componentType);
			} else {
				// no collections
				value = convertType(value, type);
			}

			setter.invokeSetter(bp.bean, value);
		} catch (Exception ex) {
			if (isSilent) {
				return null;
			}
			throw new BeanException("Setter failed: " + setter, ex);
		}
		return value;
	}
protected Object invokeSetter ( final Setter setter , final BeanProperty bp , Object value ) { try { final MapperFunction setterMapperFunction = setter . getMapperFunction ( ) ; if ( setterMapperFunction != null ) { value = setterMapperFunction . apply ( value ) ; } final Class type = setter . getSetterRawType ( ) ; if ( ClassUtil . isTypeOf ( type , Collection . class ) ) { Class componentType = setter . getSetterRawComponentType ( ) ; value = convertToCollection ( value , type , componentType ) ; } else { // no collections value = convertType ( value , type ) ; } setter . invokeSetter ( bp . bean , value ) ; } catch ( Exception ex ) { if ( isSilent ) { return null ; } throw new BeanException ( "Setter failed: " + setter , ex ) ; } return value ; }
Invokes setter, but first converts type to match the setter type.
Invokes setter but first converts type to match the setter type .