1 package org.simantics.workbench.search;
\r
3 import java.util.HashSet;
\r
4 import java.util.Set;
\r
6 import org.eclipse.core.runtime.IProgressMonitor;
\r
7 import org.simantics.db.ReadGraph;
\r
8 import org.simantics.db.Resource;
\r
9 import org.simantics.scl.runtime.function.Function5;
\r
11 public class SearchEngine {
\r
14 private String name;
\r
15 private Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction;
\r
16 private Set<String> supportedParams = new HashSet<String>();
\r
17 private boolean enabledByDefault;
\r
19 public SearchEngine(String id, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {
\r
20 this(id, id, searchFunction, enabledByDefault);
\r
23 public SearchEngine(String id, String name, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {
\r
26 this.searchFunction = searchFunction;
\r
27 this.enabledByDefault = enabledByDefault;
\r
30 public String getId() {
\r
34 public String getName() {
\r
38 public Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> getSearchFunction() {
\r
39 return searchFunction;
\r
42 public boolean isEnabledByDefault() {
\r
43 return enabledByDefault;
\r
47 public int hashCode() {
\r
48 return id.hashCode();
\r
51 public void addSupportedParam(String param) {
\r
52 this.supportedParams.add(param);
\r
55 public Set<String> getSupportedParams() {
\r
56 return supportedParams;
\r
60 public boolean equals(Object obj) {
\r
63 if (obj.getClass() != getClass())
\r
65 SearchEngine other = (SearchEngine)obj;
\r
66 return id.equals(other.id);
\r
70 public String toString() {
\r