in foundations/foundation-config/src/main/java/org/apache/servicecomb/config/priority/ConfigObjectFactory.java [113:143]
private PriorityProperty<?> createPriorityProperty(Field field, String prefix, Map<String, Object> parameters) {
String[] keys = collectPropertyKeys(field, prefix, parameters);
Class<?> fieldCls = field.getType();
switch (fieldCls.getName()) {
case "int":
return createIntProperty(field, keys, 0);
case "java.lang.Integer":
return createIntProperty(field, keys, null);
case "long":
return createLongProperty(field, keys, 0L);
case "java.lang.Long":
return createLongProperty(field, keys, null);
case "java.lang.String":
return createStringProperty(field, keys);
case "float":
return createFloatProperty(field, keys, 0f);
case "java.lang.Float":
return createFloatProperty(field, keys, null);
case "double":
return createDoubleProperty(field, keys, 0.0);
case "java.lang.Double":
return createDoubleProperty(field, keys, null);
case "boolean":
return createBooleanProperty(field, keys, false);
case "java.lang.Boolean":
return createBooleanProperty(field, keys, null);
default:
throw new IllegalStateException("not support, field=" + field);
}
}