[maven] remove unfinished quick fix
[idea/community.git] / java / java-psi-api / src / com / intellij / patterns / PsiNameValuePairPattern.java
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2
3 package com.intellij.patterns;
4
5 import com.intellij.openapi.util.text.StringUtil;
6 import com.intellij.psi.PsiNameValuePair;
7 import com.intellij.util.ProcessingContext;
8 import org.jetbrains.annotations.NonNls;
9 import org.jetbrains.annotations.NotNull;
10
11 /**
12  * @author peter
13  */
14 public final class PsiNameValuePairPattern extends PsiElementPattern<PsiNameValuePair, PsiNameValuePairPattern> {
15   static final PsiNameValuePairPattern NAME_VALUE_PAIR_PATTERN = new PsiNameValuePairPattern();
16
17   private PsiNameValuePairPattern() {
18     super(PsiNameValuePair.class);
19   }
20
21   @Override
22   @NotNull
23   public PsiNameValuePairPattern withName(@NotNull @NonNls final String requiredName) {
24     return with(new PatternCondition<PsiNameValuePair>("withName") {
25       @Override
26       public boolean accepts(@NotNull final PsiNameValuePair psiNameValuePair, final ProcessingContext context) {
27         String actualName = psiNameValuePair.getName();
28         return requiredName.equals(actualName) || actualName == null && "value".equals(requiredName);
29       }
30     });
31   }
32
33   @NotNull
34   @Override
35   public PsiNameValuePairPattern withName(@NotNull final ElementPattern<String> name) {
36     return with(new PsiNamePatternCondition<PsiNameValuePair>("withName", name) {
37       @Override
38       public String getPropertyValue(@NotNull Object o) {
39         if (o instanceof PsiNameValuePair) {
40           final String nameValue = ((PsiNameValuePair)o).getName();
41           return StringUtil.notNullize(nameValue, "value");
42         }
43         return null;
44       }
45     });
46   }
47 }