private static void setField()

in impl/src/main/java/org/apache/rocketmq/remoting/internal/BeanUtils.java [69:101]


    private static <T> void setField(final Field field, final Properties properties, final T obj) throws Exception {
        Type fieldType = field.getType();
        String fieldName = field.getName();

        String value = null;
        String configName = convertToConfigName(fieldName);
        String envName = convertToEnvName(fieldName);

        if (properties.containsKey(envName)) {
            value = properties.getProperty(envName);
        }

        if (properties.containsKey(configName)) {
            value = properties.getProperty(configName);
        }

        if (value == null) {
            return;
        }

        if (fieldType == Boolean.TYPE) {
            field.set(obj, Boolean.valueOf(value));
        } else if (fieldType == Integer.TYPE) {
            field.set(obj, Integer.valueOf(value));
        } else if (fieldType == Double.TYPE) {
            field.set(obj, Double.valueOf(value));
        } else if (fieldType == Float.TYPE) {
            field.set(obj, Float.valueOf(value));
        } else if (fieldType == Long.TYPE) {
            field.set(obj, Long.valueOf(value));
        } else
            field.set(obj, value);
    }