cdqa.iterator
Class Iterator

java.lang.Object
  extended by cdqa.iterator.Iterator
Direct Known 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
protected  XObject current
           
protected  XObject initValue
           
static Iterator NULL
          the null iterator
 
Constructor Summary
Iterator()
           
 
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(java.util.ArrayList objects)
           
static Iterator constant(double d)
           
static Iterator constant(int i)
           
static Iterator constant(java.lang.String s)
           
static Iterator constant(XObject o)
           
 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(java.util.ArrayList iterators)
           
static Iterator ljoin(Iterator i1, Iterator i2)
           
static Iterator ljoin(Iterator i1, Iterator i2, BinaryPredicate p)
           
static Iterator map(Iterator i, UnaryFunction f)
           
static Iterator mapL(Iterator i, MapLFunction f)
           
static Iterator mapL(Iterator i, MapLFunction f, BinaryPredicate p)
           
static Iterator mapL(MapLFunction f)
           
static Iterator mTOm(Iterator i, MToMFunction f)
           
 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, BooleanIterator p)
           
static Iterator scan(Iterator i, UnaryPredicate p)
           
static BooleanIterator theFalseIterator()
           
static BooleanIterator theTrueIterator()
           
 void toPrintWriter(java.io.PrintWriter pw)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL

public static final Iterator NULL
the null iterator


current

protected XObject current

initValue

protected XObject initValue
Constructor Detail

Iterator

public Iterator()
Method Detail

pumpNext

abstract XObject pumpNext()

postInit

abstract void postInit()

preClose

abstract void preClose()

asBooleanIterator

public BooleanIterator asBooleanIterator()

getCurrent

public XObject getCurrent()
returns current object

Returns:

theTrueIterator

public static BooleanIterator theTrueIterator()

theFalseIterator

public static BooleanIterator theFalseIterator()

exist

public static Exist exist(Iterator i,
                          UnaryPredicate p)

all

public static All all(Iterator i,
                      UnaryPredicate p)

not

public static Not not(Iterator i)

and

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


or

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


empty

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


rjoin

public static Iterator rjoin(Iterator i1,
                             Iterator i2)

rjoin

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

ljoin

public static Iterator ljoin(Iterator i1,
                             Iterator i2)

ljoin

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

join

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

join

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

map

public static Iterator map(Iterator i,
                           UnaryFunction f)

mapL

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

mapL

public static Iterator mapL(Iterator i,
                            MapLFunction f)

mapL

public static Iterator mapL(MapLFunction f)

mTOm

public static Iterator mTOm(Iterator i,
                            MToMFunction f)

aggreg

public static Iterator aggreg(Iterator i,
                              AggregFunction f)

scan

public static Iterator scan(Iterator i,
                            UnaryPredicate p)

scan

public static Iterator scan(Iterator i,
                            BooleanIterator p)

list

public static ListIterator list(java.util.ArrayList iterators)

constant

public static Iterator constant(java.util.ArrayList objects)

constant

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

constant

public static Iterator constant(java.lang.String s)

constant

public static Iterator constant(int i)

constant

public static Iterator constant(double d)

init

public final void init(XObject initValue)
Parameters:
XObject - initValue

init

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


close

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


next

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

Returns:

toPrintWriter

public void toPrintWriter(java.io.PrintWriter pw)
Parameters:
pw -

debugPrint

public void debugPrint(int inc)
Parameters:
inc -