示例#1
0
 public XpathChunk addChunck(
     Class<?> clazz, String field, int index, boolean iterate, boolean lazy) {
   XpathChunk chunk = XpathChunk.get(clazz, field, index, iterate, lazy);
   if (chunk != null) {
     chunks.add(chunk);
   }
   return chunk;
 }
示例#2
0
 private List<Object> evaluateObject(
     InternalWorkingMemory workingMemory,
     Tuple leftTuple,
     XpathChunk chunk,
     List<Object> list,
     Object object) {
   Object result = chunk.evaluate(object);
   if (!chunk.lazy && result instanceof ReactiveObject) {
     ((ReactiveObject) result).addLeftTuple(leftTuple);
   }
   if (chunk.iterate && result instanceof Iterable) {
     for (Object value : (Iterable<?>) result) {
       if (!chunk.lazy && value instanceof ReactiveObject) {
         ((ReactiveObject) value).addLeftTuple(leftTuple);
       }
       if (value != null) {
         list.add(value);
       }
     }
   } else if (result != null) {
     list.add(result);
   }
   return list;
 }
示例#3
0
 @Override
 public String toString() {
   return chunk.toString();
 }