use of org.drools.core.reteoo.SingleObjectSinkAdapter in project drools by kiegroup.
the class ObjectTypeNodeParser method traversePropagator.
private void traversePropagator(ObjectSinkPropagator propagator, NetworkHandler handler) {
if (propagator instanceof SingleObjectSinkAdapter) {
// we know there is only a single child sink for this propagator
ObjectSink sink = propagator.getSinks()[0];
traverseSink(sink, handler);
} else if (propagator instanceof CompositeObjectSinkAdapter) {
CompositeObjectSinkAdapter composite = (CompositeObjectSinkAdapter) propagator;
if (traverseHashedAlphaNodes) {
traverseSinkList(composite.getRangeIndexableSinks(), handler);
traverseSinkList(composite.getHashableSinks(), handler);
traverseSinkList(composite.getOthers(), handler);
traverseRangeIndexedAlphaNodes(composite.getRangeIndexMap(), handler);
traverseHashedAlphaNodes(composite.getHashedSinkMap(), handler);
} else {
traverseSinkList(composite.getSinks(), handler);
}
} else if (propagator instanceof CompositePartitionAwareObjectSinkAdapter) {
CompositePartitionAwareObjectSinkAdapter composite = (CompositePartitionAwareObjectSinkAdapter) propagator;
traverseSinkList(composite.getSinks(), handler);
}
}
Aggregations