/** {@inheritDoc} */ @Override public <T> T getMostRecentValue(String family, String qualifier) throws IOException { final FijiCellDecoder<T> decoder = mDecoderProvider.getDecoder(FijiColumnName.create(family, qualifier)); final NavigableMap<Long, byte[]> tmap = getRawTimestampMap(family, qualifier); if (null == tmap) { return null; } final byte[] bytes = tmap.values().iterator().next(); return decoder.decodeValue(bytes); }
/** {@inheritDoc} */ @Override public Iterator<FijiCell<T>> apply(final ResultSet resultSet) { final Function<Row, FijiCell<T>> decoder = new QualifiedColumnDecoder<>(column, decoderProvider.<T>getDecoder(column)); return Iterators.transform(resultSet.iterator(), decoder); } };
/** {@inheritDoc} */ @Override public <T> T getValue(String family, String qualifier, long timestamp) throws IOException { final FijiCellDecoder<T> decoder = mDecoderProvider.getDecoder(FijiColumnName.create(family, qualifier)); final byte[] bytes = getRawCell(family, qualifier, timestamp); return decoder.decodeValue(bytes); }
/** {@inheritDoc} */ @Override public <T> NavigableMap<Long, FijiCell<T>> getCells(String family, String qualifier) throws IOException { final FijiCellDecoder<T> decoder = mDecoderProvider.getDecoder(FijiColumnName.create(family, qualifier)); final NavigableMap<Long, FijiCell<T>> result = Maps.newTreeMap(TimestampComparator.INSTANCE); final NavigableMap<Long, byte[]> tmap = getRawTimestampMap(family, qualifier); if (tmap != null) { for (Map.Entry<Long, byte[]> entry : tmap.entrySet()) { final Long timestamp = entry.getKey(); final byte[] bytes = entry.getValue(); final FijiCell<T> cell = FijiCell.create( FijiColumnName.create(family, qualifier), timestamp, decoder.decodeCell(bytes)); result.put(timestamp, cell); } } return result; }
columnDecoders.put(readerSpec.getColumn(), getDecoder(readerSpec));
/** {@inheritDoc} */ @Override public <T> FijiCell<T> getMostRecentCell(String family, String qualifier) throws IOException { final FijiCellDecoder<T> decoder = mDecoderProvider.getDecoder(FijiColumnName.create(family, qualifier)); final NavigableMap<Long, byte[]> tmap = getRawTimestampMap(family, qualifier); if (null == tmap) { return null; } final byte[] bytes = tmap.values().iterator().next(); final long timestamp = tmap.firstKey(); return FijiCell.create( FijiColumnName.create(family, qualifier), timestamp, decoder.decodeCell(bytes)); }
return getDecoder(FijiColumnName.create(column.getFamily(), null));
/** * Get a decoder function for a column. * * @param column to decode. * @param layout of table. * @param translator for table. * @param decoderProvider for table. * @param <T> type of values in the column. * @return a decode for the column. */ public static <T> Function<KeyValue, FijiCell<T>> getDecoderFunction( final FijiColumnName column, final FijiTableLayout layout, final HBaseColumnNameTranslator translator, final CellDecoderProvider decoderProvider ) { if (column.isFullyQualified()) { final FijiCellDecoder<T> decoder = decoderProvider.getDecoder(column); return new QualifiedColumnDecoder<T>(column, decoder); } final FamilyLayout family = layout.getFamilyMap().get(column.getFamily()); if (family.isMapType()) { return new MapFamilyDecoder<T>(translator, decoderProvider.<T>getDecoder(column)); } else { return new GroupFamilyDecoder<T>(translator, decoderProvider); } }
/** {@inheritDoc} */ @Override public <T> FijiCell<T> getCell(String family, String qualifier, long timestamp) throws IOException { final FijiCellDecoder<T> decoder = mDecoderProvider.getDecoder(FijiColumnName.create(family, qualifier)); final byte[] bytes = getRawCell(family, qualifier, timestamp); return FijiCell.create( FijiColumnName.create(family, qualifier), timestamp, decoder.decodeCell(bytes)); }
translator.toCassandraColumnName(column), translator, decoderProvider.<T>getDecoder(column));
/** * Create a new FijiCellIterator. * * @param rowData FijiRowData from which to retrieve cells. * @param columnName Column across which to iterate. May be a fully qualified column or map type * family. * @param columnNameTranslator HBaseColumnNameTranslator with which to decode KeyValues. * @throws IOException In case of an error initializing the Iterator. */ private FijiCellIterator( final HBaseFijiRowData rowData, final FijiColumnName columnName, final HBaseColumnNameTranslator columnNameTranslator ) throws IOException { mKeyValues = SchemaPlatformBridge.get().keyValuesFromResult(rowData.mResult); mEntityId = rowData.mEntityId; mColumn = columnName; mDecoder = rowData.mDecoderProvider.getDecoder(mColumn); mColumnNameTranslator = columnNameTranslator; mMaxVersions = rowData.mDataRequest.getRequestForColumn(mColumn).getMaxVersions(); mNextIndex = findStartIndex(); mNextCell = getNextCell(); }
new HBaseColumnName(keyValue.getFamily(), keyValue.getQualifier())); mLastDecoder = mDecoderProvider.getDecoder(mLastColumn); } catch (NoSuchColumnException e) {
mFamilyColumn.getFamily(), ByteUtils.toBytes(qualifier))); mLastDecoder = mDecoderProvider.getDecoder(mLastColumn); } catch (NoSuchColumnException e) {