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 24 import org.alfresco.jcr.session.SessionImpl; 25 import org.alfresco.jcr.util.AbstractRangeIterator; 26 import org.alfresco.service.cmr.repository.ChildAssociationRef; 27 28 29 34 public class ChildAssocNodeIteratorImpl extends AbstractRangeIterator 35 implements NodeIterator 36 { 37 private SessionImpl sessionImpl; 38 private List <ChildAssociationRef> childAssocs; 39 40 41 47 public ChildAssocNodeIteratorImpl(SessionImpl sessionImpl, List <ChildAssociationRef> childAssocs) 48 { 49 this.sessionImpl = sessionImpl; 50 this.childAssocs = childAssocs; 51 } 52 53 56 public Node nextNode() 57 { 58 long position = skip(); 59 ChildAssociationRef childAssocRef = childAssocs.get((int)position); 60 NodeImpl nodeImpl = new NodeImpl(sessionImpl, childAssocRef.getChildRef()); 61 return nodeImpl.getProxy(); 62 } 63 64 67 public long getSize() 68 { 69 return childAssocs.size(); 70 } 71 72 75 public Object next() 76 { 77 return nextNode(); 78 } 79 80 } 81 | Popular Tags |