-package org.simantics.workbench.search;\r
-\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.scl.runtime.function.Function5;\r
-\r
-public class SearchEngine {\r
-\r
- private String id;\r
- private String name;\r
- private Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction;\r
- private Set<String> supportedParams = new HashSet<String>();\r
- private boolean enabledByDefault;\r
- \r
- public SearchEngine(String id, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {\r
- this(id, id, searchFunction, enabledByDefault);\r
- }\r
- \r
- public SearchEngine(String id, String name, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {\r
- this.id = id;\r
- this.name = name;\r
- this.searchFunction = searchFunction;\r
- this.enabledByDefault = enabledByDefault;\r
- }\r
- \r
- public String getId() {\r
- return id;\r
- }\r
- \r
- public String getName() {\r
- return name;\r
- }\r
- \r
- public Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> getSearchFunction() {\r
- return searchFunction;\r
- }\r
-\r
- public boolean isEnabledByDefault() {\r
- return enabledByDefault;\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- return id.hashCode();\r
- }\r
-\r
- public void addSupportedParam(String param) {\r
- this.supportedParams.add(param);\r
- }\r
- \r
- public Set<String> getSupportedParams() {\r
- return supportedParams;\r
- }\r
- \r
- @Override\r
- public boolean equals(Object obj) {\r
- if (obj == null)\r
- return false;\r
- if (obj.getClass() != getClass())\r
- return false;\r
- SearchEngine other = (SearchEngine)obj;\r
- return id.equals(other.id);\r
- }\r
- \r
- @Override\r
- public String toString() {\r
- return name;\r
- }\r
-}\r
+package org.simantics.workbench.search;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.scl.runtime.function.Function5;
+
+public class SearchEngine {
+
+ private String id;
+ private String name;
+ private Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction;
+ private Set<SearchParam> supportedParams = new HashSet<>();
+ private boolean enabledByDefault;
+
+ public SearchEngine(String id, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {
+ this(id, id, searchFunction, enabledByDefault);
+ }
+
+ public SearchEngine(String id, String name, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {
+ this.id = id;
+ this.name = name;
+ this.searchFunction = searchFunction;
+ this.enabledByDefault = enabledByDefault;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> getSearchFunction() {
+ return searchFunction;
+ }
+
+ public boolean isEnabledByDefault() {
+ return enabledByDefault;
+ }
+
+ @Override
+ public int hashCode() {
+ return id.hashCode();
+ }
+
+ public void addSupportedParam(String name) {
+ addSupportedParam(name, name);
+ }
+
+ public void addSupportedParam(String name, String label) {
+ this.supportedParams.add(new SearchParam(name, label));
+ }
+
+ public Set<SearchParam> getSupportedParams() {
+ return supportedParams;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null)
+ return false;
+ if (obj.getClass() != getClass())
+ return false;
+ SearchEngine other = (SearchEngine)obj;
+ return id.equals(other.id);
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+}