예제 #1
0
  @Override
  public Iter iter(final QueryContext qc) throws QueryException {
    final Iter ir = exprs[0].iter(qc);
    final long len = ir.size();
    if (len == 0) throw ONEORMORE.get(info);
    if (len > 0) return ir;
    return new Iter() {
      private boolean first = true;

      @Override
      public Item next() throws QueryException {
        final Item it = ir.next();
        if (first) {
          if (it == null) throw ONEORMORE.get(info);
          first = false;
        }
        return it;
      }
    };
  }
예제 #2
0
 @Override
 public Value value(final QueryContext qc) throws QueryException {
   final Value val = qc.value(exprs[0]);
   if (val.isEmpty()) throw ONEORMORE.get(info);
   return val;
 }