01: /*
02: * $Id: RowDecoratorIterator.java,v 1.7 2005/04/08 13:40:43 ahimanikya Exp $
03: * =======================================================================
04: * Copyright (c) 2002-2004 Axion Development Team. All rights reserved.
05: *
06: * Redistribution and use in source and binary forms, with or without
07: * modification, are permitted provided that the following conditions
08: * are met:
09: *
10: * 1. Redistributions of source code must retain the above
11: * copyright notice, this list of conditions and the following
12: * disclaimer.
13: *
14: * 2. Redistributions in binary form must reproduce the above copyright
15: * notice, this list of conditions and the following disclaimer in
16: * the documentation and/or other materials provided with the
17: * distribution.
18: *
19: * 3. The names "Tigris", "Axion", nor the names of its contributors may
20: * not be used to endorse or promote products derived from this
21: * software without specific prior written permission.
22: *
23: * 4. Products derived from this software may not be called "Axion", nor
24: * may "Tigris" or "Axion" appear in their names without specific prior
25: * written permission.
26: *
27: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
30: * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38: * =======================================================================
39: */
40:
41: package org.axiondb;
42:
43: import java.util.NoSuchElementException;
44:
45: /**
46: * A bidirectional iterator over a collection of {@link RowDecorator}s. (Once
47: * {@link #current current},{@link #next next},{@link #previous previous},
48: * {@link #first first}, or {@link #last last}is invoked, all previously returned values
49: * are invalidated.)
50: *
51: * @version $Revision: 1.7 $ $Date: 2005/04/08 13:40:43 $
52: * @author Rodney Waldhoff
53: */
54: public interface RowDecoratorIterator {
55:
56: RowDecorator current() throws NoSuchElementException;
57:
58: RowDecorator first() throws NoSuchElementException, AxionException;
59:
60: RowDecorator getDecorator();
61:
62: RowIterator getIterator();
63:
64: boolean hasCurrent();
65:
66: boolean hasNext();
67:
68: boolean hasPrevious();
69:
70: RowDecorator last() throws NoSuchElementException, AxionException;
71:
72: RowDecorator next() throws NoSuchElementException, AxionException;
73:
74: RowDecorator previous() throws NoSuchElementException,
75: AxionException;
76:
77: void reset() throws AxionException;
78:
79: void setDecorator(RowDecorator decorator);
80:
81: void setIterator(RowIterator iterator);
82:
83: int size() throws AxionException;
84: }
|