private PriorityProperty createPriorityProperty()

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);
    }
  }