The package xxl.core.cursors provides a whole algebra of cursors that extends the functionality of the classes {@link java.util.Iterator Iterator} and {@link java.util.Enumeration Enumeration}. A cursor is an abstract concept for manipulating objects within a stream. The cursors provided in XXL are independent from the specific structure of the objects as well as from the kind of storage representation of the underlying stream. This property is closely related to the notion of physical independence which is one of the key concepts of database systems. XXL offers an algebra of cursors which is suitable for defining complex queries in a declarative fashion similar to SQL. In addition, our cursor algebra is also beneficial for a very compact implementation of low-level core functionality (e.g. index structures).

This package provides the interfaces and some fundamental classes of XXL's cursor algebra whereas its concrete operators are arranged into subpackages. If you want to get an overview of this package (and its subpackages) please take a closer look to section Cursors at our paper: XXL - A Library Approach to Supporting Efficient Implementations of Advanced Database Queries .