]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
diff --git a/bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/SearchEngine.java b/bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/SearchEngine.java
new file mode 100644 (file)
index 0000000..243bbe5
--- /dev/null
@@ -0,0 +1,73 @@
+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