All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.saxon.tree.iter.UnfailingIterator Maven / Gradle / Ivy

There is a newer version: 10.5
Show newest version
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2013 Saxonica Limited.
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package net.sf.saxon.tree.iter;

import net.sf.saxon.om.Item;
import net.sf.saxon.om.SequenceIterator;


/**
 * A SequenceIterator is used to iterate over a sequence. An UnfailingIterator
 * is a SequenceIterator that throws no checked exceptions.
 */

public interface UnfailingIterator extends SequenceIterator {

    /**
     * Get the next item in the sequence. 
* @return the next Item. If there are no more nodes, return null. */ /*@Nullable*/ T next(); /** * Get the current item in the sequence. * * @return the current item, that is, the item most recently returned by * next() */ /*@Nullable*/ T current(); /** * Get the current position * * @return the position of the current item (the item most recently * returned by next()), starting at 1 for the first node */ int position(); /** * Get another iterator over the same sequence of items, positioned at the * start of the sequence. It must be possible to call this method at any time, whether * none, some, or all of the items in the original iterator have been read. The method * is non-destructive: it does not change the state of the original iterator. * @return a new iterator over the same sequence */ /*@NotNull*/ UnfailingIterator getAnother(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy