1 17 package org.alfresco.jcr.item; 18 19 import java.util.List ; 20 21 import javax.jcr.Node; 22 import javax.jcr.NodeIterator; 23 import javax.jcr.query.QueryResult; 24 25 import org.alfresco.jcr.session.SessionImpl; 26 import org.alfresco.jcr.util.AbstractRangeIterator; 27 import org.alfresco.jcr.util.JCRProxyFactory; 28 import org.alfresco.service.cmr.repository.NodeRef; 29 30 31 36 public class NodeRefNodeIteratorImpl extends AbstractRangeIterator 37 implements NodeIterator 38 { 39 private SessionImpl sessionImpl; 40 private List <NodeRef> nodeRefs; 41 42 48 public NodeRefNodeIteratorImpl(SessionImpl sessionImpl, List <NodeRef> nodeRefs) 49 { 50 this.sessionImpl = sessionImpl; 51 this.nodeRefs = nodeRefs; 52 } 53 54 57 public Node nextNode() 58 { 59 long position = skip(); 60 NodeRef nodeRef = nodeRefs.get((int)position); 61 NodeImpl nodeImpl = new NodeImpl(sessionImpl, nodeRef); 62 return nodeImpl.getProxy(); 63 } 64 65 68 public long getSize() 69 { 70 return nodeRefs.size(); 71 } 72 73 76 public Object next() 77 { 78 return nextNode(); 79 } 80 81 } 82 | Popular Tags |