javax.tv.service.navigation.ServiceIterator Maven / Gradle / Ivy
/**
This is not an official specification document, and usage is restricted.
NOTICE
(c) 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
Neither this file nor any files generated from it describe a complete
specification, and they may only be used as described below.
Sun Microsystems Inc. owns the copyright in this file and it is provided
to you for informative use only. For example,
this file and any files generated from it may be used to generate other documentation,
such as a unified set of documents of API signatures for a platform
that includes technologies expressed as Java APIs.
This file may also be used to produce "compilation stubs,"
which allow applications to be compiled and validated for such platforms.
By contrast, no permission is given for you to incorporate this file,
in whole or in part, in an implementation of a Java specification.
Any work generated from this file, such as unified javadocs or compiled
stub files, must be accompanied by this notice in its entirety.
This work corresponds to the API signatures of JSR 927: Java TV API 1.1.1.
In the event of a discrepency between this work and the JSR 927 specification,
which is available at http://www.jcp.org/en/jsr/detail?id=927, the latter takes precedence.
*/
package javax.tv.service.navigation;
import java.util.NoSuchElementException;
import javax.tv.service.Service;
/**
* ServiceIterator
permits iteration over an ordered
* list of Service
objects. Applications may use the
* ServiceIterator
interface to browse a
* ServiceList
forward or backward.
*
* Upon initial usage, hasPrevious()
will return
* false
and nextService()
will return the
* first Service
in the list, if present.
*
* @see ServiceList
*/
public interface ServiceIterator
{
/**
* Resets the iterator to the beginning of the list, such that
* hasPrevious()
returns false
and
* nextService()
returns the first Service
* in the list (if the list is not empty).
*
*
*/
public void toBeginning();
/**
* Sets the iterator to the end of the list, such that
* hasNext()
returns false
and
* previousService()
returns the last Service
* in the list (if the list is not empty).
*/
public void toEnd();
/**
* Reports the next Service
object in the list. This
* method may be called repeatedly to iterate through the list.
*
* @return The Service
object at the next position in
* the list.
*
* @throws NoSuchElementException If the iteration has no next
* Service
.
*/
public Service nextService();
/**
* Reports the previous Service
object in the list.
* This method may be called repeatedly to iterate through the list
* in reverse order.
*
* @return The Service
object at the previous position
* in the list.
*
* @throws NoSuchElementException If the iteration has no previous
* Service
.
*/
public Service previousService();
/**
* Tests if there is a Service
in the next position in
* the list.
*
* @return true
if there is a Service
in
* the next position in the list; false
otherwise.
*/
public boolean hasNext();
/**
* Tests if there is a Service
in the previous
* position in the list.
*
* @return true
if there is a Service
in
* the previous position in the list; false
otherwise.
*/
public boolean hasPrevious();
}