/** * Validates that the given {@code FijiColumnName} is requested in the {@code FijiDataRequest} * for this {@code FijiRowData}. This means different things for different column types: * * <h4>Fully Qualified Column</h4> * <p> * The column or its family must be in the data request. The requested column or family may not * be paged. * </p> * * <h4>Family Column</h4> * <p> * The family, or at least one fully qualified column belonging to the family must be in the * data request. The family column request or the qualified column requests belonging to the * family may not be paged. * </p> * * @param column The column for which to validate a request exists. */ private void validateColumnRequest(final FijiColumnName column) { if (!containsColumnRequest(column)) { throw new NullPointerException( String.format("Requested column %s is not included in the data request %s.", column, mResult.getDataRequest())); } }
/** {@inheritDoc} */ @Override public boolean containsCell(final String family, final String qualifier, final long timestamp) { final FijiColumnName column = FijiColumnName.create(family, qualifier); return containsColumnRequest(column) && getCell(family, qualifier, timestamp) != null; }
/** {@inheritDoc} */ @Override public boolean containsColumn(final String family, final String qualifier) { final FijiColumnName column = FijiColumnName.create(family, qualifier); return containsColumnRequest(column) && mResult.narrowView(column).iterator().hasNext(); }
/** {@inheritDoc} */ @Override public <T> Iterable<FijiCell<T>> asIterable( final String family, final String qualifier ) { final FijiColumnName column = FijiColumnName.create(family, qualifier); Preconditions.checkArgument(containsColumnRequest(column), "Column %s has no data request.", column, mResult.getDataRequest()); return mResult.narrowView(column); }