cdqa.iterator

Class Iterator

Known Direct Subclasses:
BooleanIterator, ConstIterator, CreateAttributeIterator, CreateElementIterator, CreateTextIterator, CreateUpdateIterator, DRIterator, Join, ListIterator, MapListIterator, Null, Range, ReplicateIterator, TestIterator, UnaryOpIterator

public abstract class Iterator
extends java.lang.Object

the base class for iterators
Author:
simonkm

Nested Class Summary

(package private) static interface
Iterator.IteratorManager
Interface IteratorManager has only pne method: next()

Field Summary

static Iterator
NULL
the null iterator
protected XObject
current
protected XObject
initValue

Method Summary

static Iterator
aggreg(Iterator i, AggregFunction f)
static All
all(Iterator i, UnaryPredicate p)
static And
and(Iterator i1, Iterator i2)
returns new And iterator
BooleanIterator
asBooleanIterator()
void
close()
invokes preClose() and sets manager to CLOSED
static Iterator
constant(ArrayList objects)
static Iterator
constant(String s)
static Iterator
constant(XObject o)
static Iterator
constant(double d)
static Iterator
constant(int i)
void
debugPrint(int inc)
static Empty
empty(Iterator i)
returns new Empty iterator
static Exist
exist(Iterator i, UnaryPredicate p)
XObject
getCurrent()
returns current object
void
init()
sets manager to OPEN and invokes postInit()
void
init(XObject initValue)
static Iterator
join(Iterator i1, Iterator i2, BinaryFunction f)
static Iterator
join(Iterator i1, Iterator i2, BinaryFunction f, BinaryPredicate p)
static ListIterator
list(ArrayList iterators)
static Iterator
ljoin(Iterator i1, Iterator i2)
static Iterator
ljoin(Iterator i1, Iterator i2, BinaryPredicate p)
static Iterator
mTOm(Iterator i, MToMFunction f)
static Iterator
map(Iterator i, UnaryFunction f)
static Iterator
mapL(MapLFunction f)
static Iterator
mapL(Iterator i, MapLFunction f)
static Iterator
mapL(Iterator i, MapLFunction f, BinaryPredicate p)
XObject
next()
moves to the next object and return it
static Not
not(Iterator i)
static Or
or(Iterator i1, Iterator i2)
returns new Or iterator
(package private) abstract void
postInit()
(package private) abstract void
preClose()
(package private) abstract XObject
pumpNext()
static Iterator
rjoin(Iterator i1, Iterator i2)
static Iterator
rjoin(Iterator i1, Iterator i2, BinaryPredicate p)
static Iterator
scan(Iterator i, UnaryPredicate p)
static Iterator
scan(Iterator i, BooleanIterator p)
static BooleanIterator
theFalseIterator()
static BooleanIterator
theTrueIterator()
void
toPrintWriter(PrintWriter pw)

Field Details

NULL

public static final Iterator NULL
the null iterator

current

protected XObject current

initValue

protected XObject initValue

Method Details

aggreg

public static Iterator aggreg(Iterator i,
                              AggregFunction f)

all

public static All all(Iterator i,
                      UnaryPredicate p)

and

public static And and(Iterator i1,
                      Iterator i2)
returns new And iterator

asBooleanIterator

public BooleanIterator asBooleanIterator()

close

public final void close()
invokes preClose() and sets manager to CLOSED

constant

public static Iterator constant(ArrayList objects)

constant

public static Iterator constant(String s)

constant

public static Iterator constant(XObject o)
Parameters:
o -
Returns:

constant

public static Iterator constant(double d)

constant

public static Iterator constant(int i)

debugPrint

public void debugPrint(int inc)
Parameters:
inc -

empty

public static Empty empty(Iterator i)
returns new Empty iterator

exist

public static Exist exist(Iterator i,
                          UnaryPredicate p)

getCurrent

public XObject getCurrent()
returns current object
Returns:

init

public final void init()
sets manager to OPEN and invokes postInit()

init

public final void init(XObject initValue)
Parameters:

join

public static Iterator join(Iterator i1,
                            Iterator i2,
                            BinaryFunction f)

join

public static Iterator join(Iterator i1,
                            Iterator i2,
                            BinaryFunction f,
                            BinaryPredicate p)

list

public static ListIterator list(ArrayList iterators)

ljoin

public static Iterator ljoin(Iterator i1,
                             Iterator i2)

ljoin

public static Iterator ljoin(Iterator i1,
                             Iterator i2,
                             BinaryPredicate p)

mTOm

public static Iterator mTOm(Iterator i,
                            MToMFunction f)

map

public static Iterator map(Iterator i,
                           UnaryFunction f)

mapL

public static Iterator mapL(MapLFunction f)

mapL

public static Iterator mapL(Iterator i,
                            MapLFunction f)

mapL

public static Iterator mapL(Iterator i,
                            MapLFunction f,
                            BinaryPredicate p)

next

public final XObject next()
moves to the next object and return it
Returns:

not

public static Not not(Iterator i)

or

public static Or or(Iterator i1,
                    Iterator i2)
returns new Or iterator

postInit

(package private)  abstract void postInit()

preClose

(package private)  abstract void preClose()

pumpNext

(package private)  abstract XObject pumpNext()

rjoin

public static Iterator rjoin(Iterator i1,
                             Iterator i2)

rjoin

public static Iterator rjoin(Iterator i1,
                             Iterator i2,
                             BinaryPredicate p)

scan

public static Iterator scan(Iterator i,
                            UnaryPredicate p)

scan

public static Iterator scan(Iterator i,
                            BooleanIterator p)

theFalseIterator

public static BooleanIterator theFalseIterator()

theTrueIterator

public static BooleanIterator theTrueIterator()

toPrintWriter

public void toPrintWriter(PrintWriter pw)
Parameters:
pw -