@Override public void setPropertyValue(String propertyName, @Nullable Object value) throws BeansException { if (!isWritableProperty(propertyName)) { throw new NotWritablePropertyException(type, propertyName); PropertyPath leafProperty = getPropertyPath(propertyName).getLeafProperty(); TypeInformation<?> owningType = leafProperty.getOwningType(); TypeInformation<?> propertyType = leafProperty.getTypeInformation(); if (propertyType != null && conversionRequired(value, propertyType.getType())) {
@Override protected ConfigurablePropertyAccessor getPropertyAccessor() { return new MapPropertyAccessor(type, getTarget(), conversionService); }
@Override public boolean isWritableProperty(String propertyName) { try { return getPropertyPath(propertyName) != null; } catch (PropertyReferenceException o_O) { return false; } }