]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/SearchEngine.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.workbench.search / src / org / simantics / workbench / search / SearchEngine.java
1 package org.simantics.workbench.search;\r
2 \r
3 import java.util.HashSet;\r
4 import java.util.Set;\r
5 \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
10 \r
11 public class SearchEngine {\r
12 \r
13         private String id;\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
18         \r
19         public SearchEngine(String id, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {\r
20                 this(id, id, searchFunction, enabledByDefault);\r
21         }\r
22         \r
23         public SearchEngine(String id, String name, Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> searchFunction, boolean enabledByDefault) {\r
24                 this.id = id;\r
25                 this.name = name;\r
26                 this.searchFunction = searchFunction;\r
27                 this.enabledByDefault = enabledByDefault;\r
28         }\r
29         \r
30         public String getId() {\r
31                 return id;\r
32         }\r
33         \r
34         public String getName() {\r
35                 return name;\r
36         }\r
37         \r
38         public Function5<IProgressMonitor, ReadGraph, Resource, SearchQuery, Integer, SearchResult> getSearchFunction() {\r
39                 return searchFunction;\r
40         }\r
41 \r
42         public boolean isEnabledByDefault() {\r
43                 return enabledByDefault;\r
44         }\r
45 \r
46         @Override\r
47         public int hashCode() {\r
48                 return id.hashCode();\r
49         }\r
50 \r
51         public void addSupportedParam(String param) {\r
52                 this.supportedParams.add(param);\r
53         }\r
54         \r
55         public Set<String> getSupportedParams() {\r
56                 return supportedParams;\r
57         }\r
58         \r
59         @Override\r
60         public boolean equals(Object obj) {\r
61                 if (obj == null)\r
62                         return false;\r
63                 if (obj.getClass() != getClass())\r
64                         return false;\r
65                 SearchEngine other = (SearchEngine)obj;\r
66                 return id.equals(other.id);\r
67         }\r
68         \r
69         @Override\r
70         public String toString() {\r
71                 return name;\r
72         }\r
73 }\r