本文整理了Java中org.jetbrains.yaml.psi.YAMLKeyValue
类的一些代码示例,展示了YAMLKeyValue
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YAMLKeyValue
类的具体详情如下:
包路径:org.jetbrains.yaml.psi.YAMLKeyValue
类名称:YAMLKeyValue
暂无
代码示例来源:origin: zalando/intellij-swagger
@Override
public void visitElement(final PsiElement element) {
if (element instanceof YAMLKeyValue) {
final YAMLKeyValue yamlKeyValue = (YAMLKeyValue) element;
if (OpenApiConstants.REF_KEY.equals(yamlKeyValue.getKeyText())) {
final String refValue = StringUtils.removeAllQuotes(yamlKeyValue.getValueText());
if (isYamlFile(refValue)) {
result.add(
extractFileNameFromFileRefValue(refValue)
+ DELIMITER
+ getOpenApiFileTypeFromRefElement(yamlKeyValue.getValue(), refValue));
}
}
}
super.visitElement(element);
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
private void registerYmlRoutePatternProblem(@NotNull ProblemsHolder holder, @NotNull YAMLKeyValue element) {
String s = PsiElementUtils.trimQuote(element.getKeyText());
if("pattern".equals(s) && YamlHelper.isRoutingFile(element.getContainingFile())) {
// pattern: foo
holder.registerProblem(element.getKey(), "Pattern is deprecated; use path instead", ProblemHighlightType.LIKE_DEPRECATED);
} else if(("_method".equals(s) || "_scheme".equals(s)) && YamlHelper.isRoutingFile(element.getContainingFile())) {
// requirements: { _method: 'foo', '_scheme': 'foo' }
YAMLKeyValue parentOfType = PsiTreeUtil.getParentOfType(element, YAMLKeyValue.class);
if(parentOfType != null && "requirements".equals(parentOfType.getKeyText())) {
holder.registerProblem(element.getKey(), String.format("The '%s' requirement is deprecated", s), ProblemHighlightType.LIKE_DEPRECATED);
}
}
}
代码示例来源:origin: zalando/intellij-swagger
@Override
public List<String> getSecurityScopesIfOAuth2(final PsiElement securityDefinitionItem) {
final List<YAMLKeyValue> properties = getChildProperties(securityDefinitionItem);
final boolean isOAuth2 =
properties
.stream()
.anyMatch(
prop -> {
final Optional<String> value =
Optional.ofNullable(prop.getValue())
.map(YAMLValue::getText)
.map(StringUtils::removeAllQuotes);
return "type".equals(prop.getName()) && Optional.of("oauth2").equals(value);
});
if (isOAuth2) {
return properties
.stream()
.filter(prop -> "scopes".equals(prop.getName()))
.map(this::getChildProperties)
.flatMap(Collection::stream)
.map(YAMLKeyValue::getName)
.collect(Collectors.toList());
}
return ImmutableList.of();
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
/**
* Attach all parent array keys to list (foo:\n bar:): [foo, bar]
*
* @param yamlKeyValue current key value context
* @param key the key list
*/
public static void getParentArrayKeys(YAMLKeyValue yamlKeyValue, List<String> key) {
key.add(yamlKeyValue.getKeyText());
PsiElement yamlCompount = yamlKeyValue.getParent();
if(yamlCompount instanceof YAMLCompoundValue) {
PsiElement yamlKeyValueParent = yamlCompount.getParent();
if(yamlKeyValueParent instanceof YAMLKeyValue) {
getParentArrayKeys((YAMLKeyValue) yamlKeyValueParent, key);
}
}
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
@Override
public boolean accepts(@NotNull YAMLKeyValue yamlKeyValue, ProcessingContext processingContext) {
return this.keyText.equals(yamlKeyValue.getKeyText());
}
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
public Map<String, String> getLocalParameterMap(PsiFile psiFile) {
Map<String, String> map = new HashMap<>();
for(YAMLKeyValue yamlParameterArray: getQualifiedKeyValuesInFile((YAMLFile) psiFile, "parameters")) {
String keyName = yamlParameterArray.getKeyText();
if(StringUtils.isBlank(keyName)) {
continue;
}
// extract parameter value
String textValue = null;
PsiElement value = yamlParameterArray.getValue();
if(value instanceof YAMLScalar) {
String myTextValue = ((YAMLScalar) value).getTextValue();
if(myTextValue.length() > 0 && myTextValue.length() < 150) {
textValue = myTextValue;
}
}
map.put(keyName.toLowerCase(), textValue);
}
return map;
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
YAMLValue value = yamlKeyValue.getValue();
if(!(value instanceof YAMLMapping)) {
return Collections.emptyList();
String keyText = ((YAMLKeyValue) element).getKeyText();
if(StringUtils.isBlank(keyText)) {
continue;
YAMLValue yamlValue = ((YAMLKeyValue) element).getValue();
if (yamlValue != null) {
valueText = ((YAMLKeyValue) element).getValueText();
} else {
PsiElement key = ((YAMLKeyValue) element).getKey();
if(key != null) {
PsiElement nextSiblingOfType = PsiElementUtils.getNextSiblingOfType(key, PlatformPatterns.psiElement(YAMLTokenTypes.TAG));
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
YAMLMapping parentMapping = yamlKeyValue.getParentMapping();
String valueText = classKeyValue.getValueText();
if (StringUtils.isNotBlank(valueText)) {
return valueText;
PsiElement yamlMapping = yamlKeyValue.getParent();
if(yamlMapping instanceof YAMLMapping) {
PsiElement parent = yamlMapping.getParent();
if(parent instanceof YAMLKeyValue) {
String keyText = ((YAMLKeyValue) parent).getKeyText();
if(StringUtils.isNotBlank(keyText) && !keyText.contains(".") && PhpNameUtil.isValidNamespaceFullName(keyText)) {
return keyText;
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
String keyText = ((YAMLKeyValue) yamlKeyValue).getKeyText();
if(!(keyText.equalsIgnoreCase("targetEntity") || keyText.equalsIgnoreCase("targetDocument"))) {
return;
String valueText = ((YAMLKeyValue) yamlKeyValue).getValueText();
if(StringUtils.isBlank(valueText)) {
return;
setTooltipText("Navigate to file");
PsiElement key = ((YAMLKeyValue) yamlKeyValueTarget).getKey();
if(key != null) {
lineMarkerInfos.add(builder.createLineMarkerInfo(key));
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
@Nullable
public static YAMLKeyValue getYamlKeyValue(@Nullable YAMLKeyValue yamlKeyValue, String keyName, boolean ignoreCase) {
if(yamlKeyValue == null) {
return null;
}
PsiElement yamlCompoundValue = yamlKeyValue.getValue();
if(!(yamlCompoundValue instanceof YAMLCompoundValue)) {
return null;
}
return getYamlKeyValue(yamlCompoundValue, keyName, ignoreCase);
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
private void registerYmlRoutePatternProblem(@NotNull ProblemsHolder holder, @NotNull YAMLKeyValue element) {
String s = PsiElementUtils.trimQuote(element.getKeyText());
if(("factory_class".equals(s) || "factory_method".equals(s) || "factory_service".equals(s)) && YamlElementPatternHelper.getInsideServiceKeyPattern().accepts(element)) {
// services:
// foo:
// factory_*:
registerProblem(holder, element.getKey());
}
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
/**
* Symfony 3.3: "class" is optional; use service name for its it
*
* Foo\Bar:
* arguments: ~
*/
@Nullable
public static String getServiceClassFromServiceMapping(@NotNull YAMLMapping yamlMapping) {
YAMLKeyValue classKeyValue = yamlMapping.getKeyValueByKey("class");
// Symfony 3.3: "class" is optional; use service id for class
// Foo\Bar:
// arguments: ~
if(classKeyValue != null) {
return classKeyValue.getValueText();
}
PsiElement parent = yamlMapping.getParent();
if(parent instanceof YAMLKeyValue) {
String keyText = ((YAMLKeyValue) parent).getKeyText();
if(YamlHelper.isClassServiceId(keyText)) {
return keyText;
}
}
return null;
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
String keyName = yamlKeyValue.getKeyText();
if(StringUtils.isBlank(keyName)) {
continue;
YAMLValue value = arguments.getValue();
if(value instanceof YAMLSequence) {
for (String id : YamlHelper.getYamlArrayValuesAsList((YAMLSequence) value)) {
if(calls != null) {
for (YAMLPsiElement yamlPsiElement : calls.getYAMLElements()) {
if(yamlPsiElement instanceof YAMLSequence) {
for (YAMLSequenceItem yamlSequenceItem : ((YAMLSequence) yamlPsiElement).getItems()) {
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
String keyText = yamlKeyValue.getKeyText();
if(StringUtils.isNotBlank(keyText) && !keyText.equals(keyText.toLowerCase()) && !YamlHelper.isClassServiceId(keyText)) {
PsiElement firstChild = yamlKeyValue.getFirstChild();
if(firstChild != null) {
holder.registerProblem(firstChild, SYMFONY_LOWERCASE_LETTERS_FOR_SERVICE, ProblemHighlightType.WEAK_WARNING);
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
String parameterName = ((YAMLKeyValue) context).getKeyText();
if(parameterName.startsWith("$") && parameterName.length() > 1) {
PsiElement yamlMapping = context.getParent();
PsiElement yamlKeyValue = yamlMapping.getParent();
if(yamlKeyValue instanceof YAMLKeyValue) {
String keyText = ((YAMLKeyValue) yamlKeyValue).getKeyText();
if(keyText.equals("arguments")) {
YAMLMapping parentMapping = ((YAMLKeyValue) yamlKeyValue).getParentMapping();
if(parentMapping != null) {
String serviceId = getServiceClassFromServiceMapping(parentMapping);
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
@Nullable
public static PsiElement insertKeyIntoFile(final @NotNull YAMLFile yamlFile, final @NotNull YAMLKeyValue yamlKeyValue, @NotNull String... keys) {
String keyText = yamlKeyValue.getKeyText();
return insertKeyIntoFile(yamlFile, (yamlMapping, chainedKey) -> {
String text = yamlKeyValue.getText();
final String previousIndent = StringUtil.repeatSymbol(' ', YAMLUtil.getIndentInThisLine(yamlMapping));
// split content of array value object;
// drop first item as getValueText() removes our key indent
String[] remove = (String[]) ArrayUtils.remove(text.split("\\r?\\n"), 0);
List<String> map = ContainerUtil.map(remove, s -> previousIndent + s);
return "\n" + StringUtils.strip(StringUtils.join(map, "\n"), "\n");
}, (String[]) ArrayUtils.add(keys, keyText));
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
/**
* Find controller definition in yaml structure
*
* foo:
* defaults: { _controller: "Bundle:Foo:Bar" }
* defaults:
* _controller: "Bundle:Foo:Bar"
* controller: "Bundle:Foo:Bar"
*/
@Nullable
public static String getYamlController(@NotNull YAMLKeyValue psiElement) {
YAMLKeyValue yamlKeyValue = YamlHelper.getYamlKeyValue(psiElement, "defaults");
if(yamlKeyValue != null) {
final YAMLValue container = yamlKeyValue.getValue();
if(container instanceof YAMLMapping) {
YAMLKeyValue yamlKeyValueController = YamlHelper.getYamlKeyValue(container, "_controller", true);
if(yamlKeyValueController != null) {
String valueText = yamlKeyValueController.getValueText();
if(StringUtils.isNotBlank(valueText)) {
return valueText;
}
}
}
}
String controller = YamlHelper.getYamlKeyValueAsString(psiElement, "controller");
if(controller != null && StringUtils.isNotBlank(controller)) {
return controller;
}
return null;
}
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
private static boolean collectItems(@NotNull List<String> levels, @NotNull YAMLKeyValue yamlKeyValue, @NotNull YamlTranslationCollector translationCollector) {
List<YAMLPsiElement> childElements = yamlKeyValue.getYAMLElements();
String keyText = yamlKeyValue.getKeyText();
if(StringUtils.isBlank(keyText)) {
return true;
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
private void visitServiceId(@NotNull PsiElement leafTarget, @NotNull YAMLKeyValue yamlKeyValue, @NotNull Collection<LineMarkerInfo> result, @NotNull LazyDecoratedParentServiceValues lazyDecoratedServices) {
String id = yamlKeyValue.getKeyText();
if(StringUtils.isBlank(id)) {
return;
yamlKeyValue.getProject(),
ServiceUtil.ServiceLineMarker.DECORATE,
lazyDecoratedServices.getDecoratedServices(),
yamlKeyValue.getProject(),
ServiceUtil.ServiceLineMarker.PARENT,
lazyDecoratedServices.getDecoratedServices(),
代码示例来源:origin: Haehnchen/idea-php-symfony2-plugin
if ("services".equals(yamlKeyValue.getKeyText())) {
PsiElement yamlKeyValueLastChild = yamlKeyValue.getLastChild();
if (yamlKeyValueLastChild instanceof YAMLMapping) {
for (YAMLKeyValue keyValue : ((YAMLMapping) yamlKeyValueLastChild).getKeyValues()) {
内容来源于网络,如有侵权,请联系作者删除!