1 17 package org.alfresco.repo.search.results; 18 19 import java.util.ArrayList ; 20 import java.util.Iterator ; 21 import java.util.List ; 22 23 import org.alfresco.repo.search.AbstractResultSet; 24 import org.alfresco.repo.search.SimpleResultSetMetaData; 25 import org.alfresco.service.cmr.repository.ChildAssociationRef; 26 import org.alfresco.service.cmr.repository.NodeRef; 27 import org.alfresco.service.cmr.repository.Path; 28 import org.alfresco.service.cmr.search.LimitBy; 29 import org.alfresco.service.cmr.search.PermissionEvaluationMode; 30 import org.alfresco.service.cmr.search.ResultSet; 31 import org.alfresco.service.cmr.search.ResultSetMetaData; 32 import org.alfresco.service.cmr.search.ResultSetRow; 33 34 public class DetachedResultSet extends AbstractResultSet 35 { 36 List <ResultSetRow> rows = null; 37 38 ResultSetMetaData rsmd; 39 40 public DetachedResultSet(ResultSet resultSet, Path[] propertyPaths) 41 { 42 super(propertyPaths); 43 rsmd = resultSet.getResultSetMetaData(); 44 rows = new ArrayList <ResultSetRow>(resultSet.length()); 45 for (ResultSetRow row : resultSet) 46 { 47 rows.add(new DetachedResultSetRow(this, row)); 48 } 49 } 50 51 public int length() 52 { 53 return rows.size(); 54 } 55 56 public NodeRef getNodeRef(int n) 57 { 58 return rows.get(n).getNodeRef(); 59 } 60 61 public ResultSetRow getRow(int i) 62 { 63 return rows.get(i); 64 } 65 66 public Iterator <ResultSetRow> iterator() 67 { 68 return rows.iterator(); 69 } 70 71 public ChildAssociationRef getChildAssocRef(int n) 72 { 73 return rows.get(n).getChildAssocRef(); 74 } 75 76 public ResultSetMetaData getResultSetMetaData() 77 { 78 return new SimpleResultSetMetaData(rsmd.getLimitedBy(), PermissionEvaluationMode.EAGER, rsmd.getSearchParameters()); 79 } 80 81 } 82 | Popular Tags |