package org.simantics.workbench.search; import java.io.File; import java.util.Collection; import java.util.Map; import java.util.TreeMap; /** * @author Tuukka Lehtonen */ public class SearchData { int resultNumber; String dataUrl; File dataDirectory; SearchQuery query; NamedResource model; SearchEngine searchEngine; SearchResult results; Collection searchEngines; int resultCount; int maxResults; public int getResultNumber() { return resultNumber; } public String getDataUrl() { return dataUrl; } public File getDataDirectory() { return dataDirectory; } public SearchQuery getQuery() { return query; } public Collection getSearchEngines() { return searchEngines; } public Collection getAllSearchParams() { Map params = new TreeMap<>(); for (SearchEngine engine : searchEngines) { for (SearchParam param : engine.getSupportedParams()) { params.put(param.getName(), param); } } return params.values(); } public NamedResource getModel() { return model; } public SearchResult getResults() { return results; } public int getResultCount() { return results.rows.size(); } public int getResultTotalCount() { return resultCount; } public int getMaxResults() { return maxResults; } public SearchEngine getSearchEngine() { return searchEngine; } public SearchData clone() { SearchData data = new SearchData(); data.resultNumber = resultNumber; data.dataUrl = dataUrl; data.dataDirectory = dataDirectory; data.query = query; data.model = model; data.results = results; data.maxResults = maxResults; data.resultCount = resultCount; data.searchEngine = searchEngine; data.searchEngines = searchEngines; return data; } }