KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > repo > search > results > DetachedResultSet


1 /*
2  * Copyright (C) 2005 Alfresco, Inc.
3  *
4  * Licensed under the Mozilla Public License version 1.1
5  * with a permitted attribution clause. You may obtain a
6  * copy of the License at
7  *
8  * http://www.alfresco.org/legal/license.txt
9  *
10  * Unless required by applicable law or agreed to in writing,
11  * software distributed under the License is distributed on an
12  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13  * either express or implied. See the License for the specific
14  * language governing permissions and limitations under the
15  * License.
16  */

17 package org.alfresco.repo.search.results;
18
19 import java.util.ArrayList JavaDoc;
20 import java.util.Iterator JavaDoc;
21 import java.util.List JavaDoc;
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 JavaDoc<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 JavaDoc<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 JavaDoc<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