private Comparable getIndexedValue(LeftTuple leftTuple) { return (Comparable) index .getDeclaration() .getExtractor() .getValue(leftTuple.get(index.getDeclaration()).getObject()); }
private Comparable getLeftDescendingIndexedValue(LeftTuple leftTuple) { return (Comparable) descendingIndex .getDeclaration() .getExtractor() .getValue(leftTuple.get(descendingIndex.getDeclaration()).getObject()); }
public void assertLeftTuple( final LeftTuple leftTuple, final PropagationContext context, final InternalWorkingMemory workingMemory) { // while we don't do anything with this, it's needed to serialization has a hook point // It will still keep the LT's in the serialization, but sucked form the child workingMemory.getNodeMemory(this); // creating a dummy fact handle to wrap the tuple final InternalFactHandle handle = createFactHandle(leftTuple, context, workingMemory); boolean useLeftMemory = true; if (!isLeftTupleMemoryEnabled()) { // This is a hack, to not add closed DroolsQuery objects Object object = leftTuple.get(0).getObject(); if (!(object instanceof DroolsQuery) || !((DroolsQuery) object).isOpen()) { useLeftMemory = false; } } if (useLeftMemory) { leftTuple.setObject(handle); } // propagate it this.sink.propagateAssertObject(handle, context, workingMemory); // if ( useLeftMemory) { // leftTuple.setObject( handle.getFirstRightTuple() ); // } }