package org.simantics.workbench.search; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.simantics.databoard.util.URIStringUtils; /** * Search Result for Name and Type queries. * * Implements the functionality of old SearchResult used in Simantics 1.10 and 1.11 * * * @author Marko Luukkainen * */ public class NameAndTypeRow implements SearchResultRow { public static final List columns; static { columns = new ArrayList(); columns.add(new SearchResultColumn("Name")); columns.add(new SearchResultColumn("Type")); columns.add(new SearchResultColumn("Part Of")); } public NamedResource resource; public NamedResource parent; public Collection types; public Collection principalTypes; public NamedResource getResource() { return resource; } public NamedResource getParent() { return parent; } public Collection getTypes() { return types; } public Collection getPrincipalTypes() { return principalTypes; } @Override public String getContent(int column) { switch (column) { case 0: return "")+StringUtil.escape(resource.getName())+""; case 1: String s = ""; for (NamedResource type : principalTypes) s+="")+StringUtil.escape(type.getName())+""; return s; case 2: if (parent != null) return "")+StringUtil.escape(parent.getName())+""; return ""; default: return ""; } } }