public static List getOptionInfos()

in src/main/java/org/apache/paimon/trino/TrinoTableOptionUtils.java [51:80]


    public static List<OptionInfo> getOptionInfos() {
        List<OptionInfo> optionInfos = new ArrayList<>();
        List<OptionWithMetaInfo> optionWithMetaInfos = extractConfigOptions(CoreOptions.class);
        String className = "";
        for (OptionWithMetaInfo optionWithMetaInfo : optionWithMetaInfos) {
            if (shouldSkip(optionWithMetaInfo.field.getName())) {
                continue;
            }

            Type genericType = optionWithMetaInfo.field.getGenericType();
            if (genericType instanceof ParameterizedType) {
                ParameterizedType parameterizedType = (ParameterizedType) genericType;
                Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
                for (Type actualTypeArgument : actualTypeArguments) {
                    if (actualTypeArgument instanceof Class<?>) {
                        className = ((Class<?>) actualTypeArgument).getSimpleName();
                    }
                }
            }

            optionInfos.add(
                    new OptionInfo(
                            convertOptionKey(optionWithMetaInfo.option.key()),
                            optionWithMetaInfo.option.key(),
                            buildClass(className),
                            isEnum(className),
                            className));
        }
        return optionInfos;
    }