blob: 0fdfed5ec7c36015341f648ccd56f1069d69879d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package com.modulus.qbar.lang;
import com.modulus.qbar.core.QBFunction;
import com.modulus.qbar.core.QBObject;
import com.modulus.qbar.core.parser.Core;
public class QBSyntheticIterator extends QBIterator<QBObject>{
private static final long serialVersionUID = -1890206471197459684L;
private QBFunction next;
private QBFunction hasNext;
private QBObject wrapped;
public QBSyntheticIterator(QBObject iterable, QBObject wrapped) {
super(iterable);
this.wrapped = wrapped;
this.next = (QBFunction) wrapped.get("next");
this.hasNext = (QBFunction) wrapped.get("hasNext");
}
@Override
public boolean hasNext() {
return Core.QBObjectIsTrue( hasNext.execute( new QBObject[]{wrapped} ) );
}
@Override
protected QBObject nextObject() {
return next.execute( new QBObject[]{wrapped} );
}
}
|