Search in sources :

Example 1 with ConfigGroups

use of org.apache.flink.annotation.docs.ConfigGroups in project flink by apache.

the class ConfigOptionsDocGenerator method generateTablesForClass.

@VisibleForTesting
static List<Tuple2<ConfigGroup, String>> generateTablesForClass(Class<?> optionsClass) {
    ConfigGroups configGroups = optionsClass.getAnnotation(ConfigGroups.class);
    List<OptionWithMetaInfo> allOptions = extractConfigOptions(optionsClass);
    if (allOptions.isEmpty()) {
        return Collections.emptyList();
    }
    List<Tuple2<ConfigGroup, String>> tables;
    if (configGroups != null) {
        tables = new ArrayList<>(configGroups.groups().length + 1);
        Tree tree = new Tree(configGroups.groups(), allOptions);
        for (ConfigGroup group : configGroups.groups()) {
            List<OptionWithMetaInfo> configOptions = tree.findConfigOptions(group);
            if (!configOptions.isEmpty()) {
                sortOptions(configOptions);
                tables.add(Tuple2.of(group, toHtmlTable(configOptions)));
            }
        }
        List<OptionWithMetaInfo> configOptions = tree.getDefaultOptions();
        if (!configOptions.isEmpty()) {
            sortOptions(configOptions);
            tables.add(Tuple2.of(null, toHtmlTable(configOptions)));
        }
    } else {
        sortOptions(allOptions);
        tables = Collections.singletonList(Tuple2.of(null, toHtmlTable(allOptions)));
    }
    return tables;
}
Also used : Tuple2(org.apache.flink.api.java.tuple.Tuple2) ConfigGroups(org.apache.flink.annotation.docs.ConfigGroups) ConfigGroup(org.apache.flink.annotation.docs.ConfigGroup) VisibleForTesting(org.apache.flink.annotation.VisibleForTesting)

Aggregations

VisibleForTesting (org.apache.flink.annotation.VisibleForTesting)1 ConfigGroup (org.apache.flink.annotation.docs.ConfigGroup)1 ConfigGroups (org.apache.flink.annotation.docs.ConfigGroups)1 Tuple2 (org.apache.flink.api.java.tuple.Tuple2)1