當前位置: 首頁>>代碼示例>>Java>>正文


Java ConfigDef.Validator方法代碼示例

本文整理匯總了Java中org.apache.kafka.common.config.ConfigDef.Validator方法的典型用法代碼示例。如果您正苦於以下問題:Java ConfigDef.Validator方法的具體用法?Java ConfigDef.Validator怎麽用?Java ConfigDef.Validator使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.kafka.common.config.ConfigDef的用法示例。


在下文中一共展示了ConfigDef.Validator方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: enrich

import org.apache.kafka.common.config.ConfigDef; //導入方法依賴的package包/類
/**
 * Returns an enriched {@link ConfigDef} building upon the {@code ConfigDef}, using the current configuration specified in {@code props} as an input.
 * <p>
 * {@code requireFullConfig} specifies whether required config values that are missing should cause an exception to be thrown.
 */
public static ConfigDef enrich(Plugins plugins, ConfigDef baseConfigDef, Map<String, String> props, boolean requireFullConfig) {
    Object transformAliases = ConfigDef.parseType(TRANSFORMS_CONFIG, props.get(TRANSFORMS_CONFIG), Type.LIST);
    if (!(transformAliases instanceof List)) {
        return baseConfigDef;
    }

    ConfigDef newDef = new ConfigDef(baseConfigDef);
    LinkedHashSet<?> uniqueTransformAliases = new LinkedHashSet<>((List<?>) transformAliases);
    for (Object o : uniqueTransformAliases) {
        if (!(o instanceof String)) {
            throw new ConfigException("Item in " + TRANSFORMS_CONFIG + " property is not of "
                    + "type String");
        }
        String alias = (String) o;
        final String prefix = TRANSFORMS_CONFIG + "." + alias + ".";
        final String group = TRANSFORMS_GROUP + ": " + alias;
        int orderInGroup = 0;

        final String transformationTypeConfig = prefix + "type";
        final ConfigDef.Validator typeValidator = new ConfigDef.Validator() {
            @Override
            public void ensureValid(String name, Object value) {
                getConfigDefFromTransformation(transformationTypeConfig, (Class) value);
            }
        };
        newDef.define(transformationTypeConfig, Type.CLASS, ConfigDef.NO_DEFAULT_VALUE, typeValidator, Importance.HIGH,
                "Class for the '" + alias + "' transformation.", group, orderInGroup++, Width.LONG, "Transformation type for " + alias,
                Collections.<String>emptyList(), new TransformationClassRecommender(plugins));

        final ConfigDef transformationConfigDef;
        try {
            final String className = props.get(transformationTypeConfig);
            final Class<?> cls = (Class<?>) ConfigDef.parseType(transformationTypeConfig, className, Type.CLASS);
            transformationConfigDef = getConfigDefFromTransformation(transformationTypeConfig, cls);
        } catch (ConfigException e) {
            if (requireFullConfig) {
                throw e;
            } else {
                continue;
            }
        }

        newDef.embed(prefix, group, orderInGroup, transformationConfigDef);
    }

    return newDef;
}
 
開發者ID:YMCoding,項目名稱:kafka-0.11.0.0-src-with-comment,代碼行數:53,代碼來源:ConnectorConfig.java


注:本文中的org.apache.kafka.common.config.ConfigDef.Validator方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。