01: /**********************************************************************************
02: * $URL: https://source.sakaiproject.org/svn/sam/trunk/component/src/java/org/sakaiproject/tool/assessment/facade/ItemIteratorFacade.java $
03: * $Id: ItemIteratorFacade.java 9273 2006-05-10 22:34:28Z daisyf@stanford.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2004, 2005, 2006 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the"License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.sakaiproject.tool.assessment.facade;
21:
22: import java.util.Collection;
23: import java.util.Iterator;
24:
25: /**
26: * A Item iterator implementation.
27: *
28: * @author Rachel Gollub <rgollub@stanford.edu>
29: */
30: public class ItemIteratorFacade
31: //implements ItemIterator
32: {
33: private Iterator itemIter;
34: private int size = 0;
35:
36: /**
37: * Creates a new ItemIteratorImpl object.
38: *
39: * @param pitems DOCUMENTATION PENDING
40: */
41: public ItemIteratorFacade(Collection pitems) {
42: itemIter = pitems.iterator();
43: this .size = pitems.size();
44: }
45:
46: /**
47: * DOCUMENTATION PENDING
48: *
49: * @return DOCUMENTATION PENDING
50: *
51: * @throws DataFacadeException DOCUMENTATION PENDING
52: */
53: public boolean hasNextItem() throws DataFacadeException {
54: try {
55: return itemIter.hasNext();
56: } catch (Exception e) {
57: throw new DataFacadeException("No objects to return.");
58: }
59: }
60:
61: /**
62: * DOCUMENTATION PENDING
63: *
64: * @return DOCUMENTATION PENDING
65: *
66: * @throws DataFacadeException DOCUMENTATION PENDING
67: */
68: public ItemFacade nextItem() throws DataFacadeException {
69: try {
70: return (ItemFacade) itemIter.next();
71: } catch (Exception e) {
72: throw new DataFacadeException("No objects to return.");
73: }
74: }
75:
76: public int getSize() {
77: return size;
78: }
79:
80: }
|