Github user isper3at commented on a diff in the pull request: https://github.com/apache/incubator-rya/pull/251#discussion_r153030940 --- Diff: extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/SpanBatchDeleteInformation.java --- @@ -20,39 +22,79 @@ import org.apache.fluo.api.data.Column; import org.apache.fluo.api.data.Span; +import com.google.common.base.Preconditions; + /** * This class represents a batch order to delete all entries in the Fluo table indicated * by the given Span and Column. These batch orders are processed by the {@link BatchObserver}, * which uses this batch information along with the nodeId passed into the Observer to perform - * batch deletes. + * batch deletes. * */ public class SpanBatchDeleteInformation extends AbstractSpanBatchInformation { private static final BatchBindingSetUpdater updater = new SpanBatchBindingSetUpdater(); - - public SpanBatchDeleteInformation(int batchSize, Column column, Span span) { + private Optional<String> nodeId; + + /** + * Create a new SpanBatchInformation object. + * @param nodeId - Optional nodeId that is used to filter returned results. Useful if the hash + * is not included in the Span. + * @param batchSize - size of batch to be deleted + * @param column - column whose entries will be deleted + * @param span - Span indicating the range of data to delete. Sometimes the Span cannot contain the hash + * (for example, if you are deleting all of the results associated with a nodeId). In this case, a nodeId + * should be specified along with a Span equal to the prefix of the nodeId. + */ + public SpanBatchDeleteInformation(Optional<String> nodeId, int batchSize, Column column, Span span) { super(batchSize, Task.Delete, column, span); + Preconditions.checkNotNull(nodeId); --- End diff -- static import
---