@Override public boolean isSatisfied(final InputRow row, final FilterOutcomes outcomes) { return outcomes.contains(_outcome); }
@Override public boolean isSatisfied(final InputRow row, final FilterOutcomes outcomes) { for (final FilterOutcome outcome : outcomes.getOutcomes()) { if (_outcomes.contains(outcome)) { return true; } } return false; }
@Override public void consumeInternal(final InputRow row, final int distinctCount, final FilterOutcomes outcomes, final RowProcessingChain chain) { final Enum<?> category = _filter.categorize(row); final FilterOutcome outcome = new ImmutableFilterOutcome(_filterJob, category); outcomes.add(outcome); chain.processNext(row, distinctCount, outcomes); }
@Override public void onValues(final Object[] values) { final int recordNo = recordNumber.incrementAndGet(); final boolean isFirst = recordNo == 1; final TransformedInputRow resultRow; if (isFirst) { // retain the first record's id resultRow = TransformedInputRow.of(row); } else { resultRow = new TransformedInputRow(row, getNextVirtualRowId(row, recordNo)); } addValuesToRow(resultRow, outputColumns, values); final FilterOutcomes clonedOutcomeSink = outcomes.clone(); chain.processNext(resultRow, 1, clonedOutcomeSink); } };
((HasFilterOutcomes) componentJob).getFilterOutcomes(); for (final FilterOutcome outcome : outcomes) { availableOutcomes.add(outcome);
/** * Ensures that ALL outcomes are available */ @Override public final boolean satisfiedForFlowOrdering(final FilterOutcomes outcomes) { if (isAlwaysSatisfiedRequirement()) { return true; } final ComponentRequirement componentRequirement = _hasComponentRequirement.getComponentRequirement(); if (componentRequirement == null) { return true; } final Collection<FilterOutcome> dependencies = componentRequirement.getProcessingDependencies(); for (final FilterOutcome filterOutcome : dependencies) { final boolean contains = outcomes.contains(filterOutcome); if (!contains) { return false; } } return componentRequirement.isSatisfied(null, outcomes); }