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; }
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; }
@Override public String toString() { return chunk.toString(); }