get rid of intellij.build.toolbox.litegen parameter and use BuildOptions.TOOLBOX_LITE...
[idea/community.git] / java / java-analysis-impl / src / com / intellij / find / findUsages / JavaFindUsagesOptions.java
1 /*
2  * Copyright 2000-2016 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.find.findUsages;
17
18 import com.intellij.find.FindBundle;
19 import com.intellij.openapi.project.Project;
20 import com.intellij.openapi.util.text.StringUtil;
21 import com.intellij.psi.search.SearchScope;
22 import org.jetbrains.annotations.NotNull;
23
24 import java.util.LinkedHashSet;
25
26 /**
27  * @author peter
28  */
29 public abstract class JavaFindUsagesOptions extends FindUsagesOptions {
30   public boolean isSkipImportStatements;
31
32   public JavaFindUsagesOptions(@NotNull Project project) {
33     super(project);
34
35     isUsages = true;
36   }
37
38   public JavaFindUsagesOptions(@NotNull SearchScope searchScope) {
39     super(searchScope);
40
41     isUsages = true;
42   }
43
44   @Override
45   public boolean equals(final Object o) {
46     if (this == o) return true;
47     if (!super.equals(o)) return false;
48     if (getClass() != o.getClass()) return false;
49
50     return isSkipImportStatements == ((JavaFindUsagesOptions)o).isSkipImportStatements;
51   }
52
53   @Override
54   public int hashCode() {
55     int result = super.hashCode();
56     result = 31 * result + (isSkipImportStatements ? 1 : 0);
57     return result;
58   }
59
60   protected void addUsageTypes(@NotNull LinkedHashSet<? super String> to) {
61     if (isUsages) {
62       to.add(FindBundle.message("find.usages.panel.title.usages"));
63     }
64   }
65
66   @NotNull
67   @Override
68   public final String generateUsagesString() {
69     String separator = " " + FindBundle.message("find.usages.panel.title.separator") + " ";
70     LinkedHashSet<String> strings = new LinkedHashSet<>();
71     addUsageTypes(strings);
72     if (strings.isEmpty()) {
73       strings.add(FindBundle.message("find.usages.panel.title.usages"));
74     }
75     return StringUtil.join(strings, separator);
76   }
77
78
79 }