MCPcopy Create free account
hub / github.com/BaseXdb/basex / iter

Method iter

basex-core/src/main/java/org/basex/query/expr/Otherwise.java:33–57  ·  view source on GitHub ↗
(final QueryContext qc)

Source from the content-addressed store, hash-verified

31 }
32
33 @Override
34 public Iter iter(final QueryContext qc) throws QueryException {
35 final int el = exprs.length - 1;
36 for(int e = 0; e < el; e++) {
37 final Iter input = exprs[e].iter(qc);
38 final long size = input.size();
39 // size is known, results exist: return items iterator
40 if(size > 0) return input;
41 // unknown result size: retrieve first item
42 if(size < 0) {
43 final Item item = qc.next(input);
44 if(item != null) return new Iter() {
45 boolean next;
46
47 @Override
48 public Item next() throws QueryException {
49 if(next) return qc.next(input);
50 next = true;
51 return item;
52 }
53 };
54 }
55 }
56 return exprs[el].iter(qc);
57 }
58
59 @Override
60 public Value value(final QueryContext qc) throws QueryException {

Callers

nothing calls this directly

Calls 3

sizeMethod · 0.95
iterMethod · 0.65
nextMethod · 0.65

Tested by

no test coverage detected