类org.springframework.boot.configurationmetadata.ValueProvider源码实例Demo

下面列出了怎么用org.springframework.boot.configurationmetadata.ValueProvider的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public boolean isExclusive(ConfigurationMetadataProperty property) {
	for (ValueProvider valueProvider : property.getValueProviders()) {
		if ("any".equals(valueProvider.getName())) {
			return false;
		}
	}
	return true;
}
 
@Override
public boolean isExclusive(ConfigurationMetadataProperty property) {
	for (ValueProvider valueProvider : property.getHints().getValueProviders()) {
		if ("any".equals(valueProvider.getName())) {
			return false;
		}
	}
	return true;
}
 
源代码3 项目: nb-springboot   文件: CfgPropsCompletionQuery.java
private void completePropName(CompletionResultSet completionResultSet, String filter, int startOffset, int caretOffset) {
    final Preferences prefs = NbPreferences.forModule(PrefConstants.class);
    final boolean bDeprLast = prefs.getBoolean(PREF_DEPR_SORT_LAST, true);
    final boolean bErrorShow = prefs.getBoolean(PREF_DEPR_ERROR_SHOW, true);
    long mark = System.currentTimeMillis();
    // check if completing a property map key
    if (filter != null) {
        ClassPath cpExec = Utils.execClasspathForProj(proj);
        for (String mapProp : sbs.getMapPropertyNames()) {
            if (filter.length() > mapProp.length() && filter.contains(mapProp)) {
                String key = filter.substring(mapProp.length() + 1);
                logger.log(FINER, "Completing key for map property {0} from: ''{1}''", new Object[]{mapProp, key});
                final ConfigurationMetadataProperty propMetadata = sbs.getPropertyMetadata(mapProp);
                // if key data type is an enum complete with enum values
                final String keyDataType = extractMapKeyType(propMetadata);
                if (!keyDataType.contains("<")) {
                    Utils.completeEnum(cpExec, keyDataType, key, hint -> {
                        completionResultSet.addItem(new KeyCompletionItem(hint, startOffset + mapProp.length() + 1,
                                caretOffset));
                    });
                }
                // check if key data type is boolean
                if (keyDataType.equals("java.lang.Boolean")) {
                    Utils.completeBoolean(key, hint -> {
                        completionResultSet.addItem(new KeyCompletionItem(hint, startOffset + mapProp.length() + 1,
                                caretOffset));
                    });
                }
                // check if key data type is Charset
                if (keyDataType.equals("java.nio.charset.Charset")) {
                    Utils.completeCharset(key, hint -> {
                        completionResultSet.addItem(new KeyCompletionItem(hint, startOffset + mapProp.length() + 1,
                                caretOffset));
                    });
                }
                // add metadata defined key hints to completion list
                final Hints hints = propMetadata.getHints();
                if (!hints.getKeyHints().isEmpty()) {
                    String keyLowcase = key.toLowerCase();
                    for (ValueHint keyHint : hints.getKeyHints()) {
                        if (keyHint.getValue().toString().toLowerCase().contains(keyLowcase)) {
                            completionResultSet.addItem(new KeyCompletionItem(keyHint, startOffset + mapProp.length() + 1,
                                    caretOffset));
                        }
                    }
                }
                // invoke key providers
                if (!hints.getKeyProviders().isEmpty()) {
                    logger.log(FINER, "Key providers for {0}:", mapProp);
                    for (ValueProvider vp : hints.getKeyProviders()) {
                        logger.log(FINER, "  {0} - params: {1}", new Object[]{vp.getName(), vp.getParameters()});
                        sbs.getHintProvider(vp.getName()).provide(vp.getParameters(), propMetadata, key, true,
                                completionResultSet, startOffset + mapProp.length() + 1, caretOffset);
                    }
                }
            }
        }
    }
    for (ConfigurationMetadataProperty propMeta : sbs.queryPropertyMetadata(filter)) {
        if (Utils.isErrorDeprecated(propMeta)) {
            // show error level deprecated props based on pref
            if (bErrorShow) {
                completionResultSet.addItem(new CfgPropCompletionItem(propMeta, startOffset, caretOffset, bDeprLast));
            }
        } else {
            completionResultSet.addItem(new CfgPropCompletionItem(propMeta, startOffset, caretOffset, bDeprLast));
        }
    }
    final long elapsed = System.currentTimeMillis() - mark;
    logger.log(FINE, "Name completion of ''{0}'' took: {1} msecs", new Object[]{filter, elapsed});
}
 
private void dumpToCsv(SpringBootService sbs, Path path) {
    try (BufferedWriter bw = Files.newBufferedWriter(path);
            PrintWriter pw = new PrintWriter(bw)) {
        pw.println("Name,DataType,"
                + "HasKeyHints,KeyProvider,KeyProviderParams,"
                + "HasValueHints,ValueProvider,ValueProviderParams,"
                + "Default");
        for (String name : new TreeSet<>(sbs.getPropertyNames())) {
            ConfigurationMetadataProperty cfg = sbs.getPropertyMetadata(name);
            // skip deprecated properties
            if (cfg.isDeprecated()) {
                continue;
            }
            String dataType = cfg.getType();
            String hasKeyHints = "";
            String hasValueHints = "";
            String keyProvider = "";
            String keyProviderParams = "";
            String valueProvider = "";
            String valueProviderParams = "";
            Hints hints = cfg.getHints();
            if (hints != null) {
                hasKeyHints = !hints.getKeyHints().isEmpty() ? "T" : "F";
                if (!hints.getKeyProviders().isEmpty()) {
                    ValueProvider kp = hints.getKeyProviders().get(0);
                    keyProvider = kp.getName();
                    keyProviderParams = kp.getParameters().toString();
                }
                hasValueHints = !hints.getValueHints().isEmpty() ? "T" : "F";
                if (!hints.getValueProviders().isEmpty()) {
                    ValueProvider vp = hints.getValueProviders().get(0);
                    valueProvider = vp.getName();
                    valueProviderParams = vp.getParameters().toString();
                }
            } else {
                System.out.format("%s has null hints object%n", name);
            }
            String defaultValue = "";
            final Object def = cfg.getDefaultValue();
            if (def != null) {
                if (def.getClass().isArray()) {
                    defaultValue = Arrays.toString((Object[]) def);
                } else {
                    defaultValue = String.valueOf(def);
                }
            }
            String row = String.format("%s,\"%s\",%s,%s,%s,%s,%s,%s,\"%s\"", name, dataType,
                    hasKeyHints, keyProvider, keyProviderParams,
                    hasValueHints, valueProvider, valueProviderParams,
                    defaultValue);
            pw.println(row);
        }
    } catch (IOException ex) {
        Exceptions.printStackTrace(ex);
    }
}
 
 类所在包
 类方法
 同包方法