X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.workbench.search%2Fsrc%2Forg%2Fsimantics%2Fworkbench%2Fsearch%2FSearchEngine.java;fp=bundles%2Forg.simantics.workbench.search%2Fsrc%2Forg%2Fsimantics%2Fworkbench%2Fsearch%2FSearchEngine.java;h=243bbe5260c16df77759d733d6e5242ccb1b1d51;hp=0000000000000000000000000000000000000000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hpb=866dba5cd5a3929bbeae85991796acb212338a08 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 index 000000000..243bbe526 --- /dev/null +++ b/bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/SearchEngine.java @@ -0,0 +1,73 @@ +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 searchFunction; + private Set supportedParams = new HashSet(); + private boolean enabledByDefault; + + public SearchEngine(String id, Function5 searchFunction, boolean enabledByDefault) { + this(id, id, searchFunction, enabledByDefault); + } + + public SearchEngine(String id, String name, Function5 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 getSearchFunction() { + return searchFunction; + } + + public boolean isEnabledByDefault() { + return enabledByDefault; + } + + @Override + public int hashCode() { + return id.hashCode(); + } + + public void addSupportedParam(String param) { + this.supportedParams.add(param); + } + + public Set 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; + } +}