16a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana/*
26a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * Copyright (C) 2009 The Android Open Source Project
36a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana *
46a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * Licensed under the Apache License, Version 2.0 (the "License");
56a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * you may not use this file except in compliance with the License.
66a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * You may obtain a copy of the License at
76a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana *
86a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana *      http://www.apache.org/licenses/LICENSE-2.0
96a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana *
106a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * Unless required by applicable law or agreed to in writing, software
116a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * distributed under the License is distributed on an "AS IS" BASIS,
126a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * See the License for the specific language governing permissions and
146a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana * limitations under the License.
156a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana */
166a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana
176a8d5332f00bdfade6674b312e7166940aa28348Fred Quintanapackage android.content;
186a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana
19d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintanaimport java.util.Iterator;
206a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana
21d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana/**
22d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana * A specialization of {@link Iterator} that allows iterating over a collection of
23d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana * {@link Entity} objects. In addition to the iteration functionality it also allows
24d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana * resetting the iterator back to the beginning and provides for an explicit {@link #close()}
25d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana * method to indicate that the iterator is no longer needed and that its resources
26d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana * can be released.
27d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana */
28d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintanapublic interface EntityIterator extends Iterator<Entity> {
296a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana    /**
30d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana     * Reset the iterator back to the beginning.
316a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana     */
32d5e4fdc8a4743abc0d9fe3cb952a78f9ad078c6bFred Quintana    public void reset();
3377709755b74bcc852cd511ff833c2827c0f0e1aaFred Quintana
346a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana    /**
356a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana     * Indicates that this iterator is no longer needed and that any associated resources
366a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana     * may be released (such as a SQLite cursor).
376a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana     */
386a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana    public void close();
396a8d5332f00bdfade6674b312e7166940aa28348Fred Quintana}
40