public Row.SimpleBuilder row(Object... clusteringValues) { Clustering clustering = makeClustering(metadata, clusteringValues); RowBuilder builder = rowBuilders.get(clustering); if (builder == null) { builder = new RowBuilder(metadata, clustering); rowBuilders.put(clustering, builder); } copyParams(builder); return builder; }
public PartitionUpdate build() { // Collect all updated columns PartitionColumns.Builder columns = PartitionColumns.builder(); for (RowBuilder builder : rowBuilders.values()) columns.addAll(builder.columns()); // Note that rowBuilders.size() could include the static column so could be 1 off the really need capacity // of the final PartitionUpdate, but as that's just a sizing hint, we'll live. PartitionUpdate update = new PartitionUpdate(metadata, key, columns.build(), rowBuilders.size()); update.addPartitionDeletion(partitionDeletion); if (rangeBuilders != null) { for (RTBuilder builder : rangeBuilders) update.add(builder.build()); } for (RowBuilder builder : rowBuilders.values()) update.add(builder.build()); return update; }
private Row.SimpleBuilder add(String columnName, Object value, boolean overwriteForCollection) maybeInit(); ColumnDefinition column = getColumn(columnName); builder.addCell(cell(column, toByteBuffer(value, column.type), null)); return this; assert value instanceof List; for (Object elt : (List)value) builder.addCell(cell(column, toByteBuffer(elt, lt.getElementsType()), CellPath.create(ByteBuffer.wrap(UUIDGen.getTimeUUIDBytes())))); break; case SET: assert value instanceof Set; for (Object elt : (Set)value) builder.addCell(cell(column, ByteBufferUtil.EMPTY_BYTE_BUFFER, CellPath.create(toByteBuffer(elt, st.getElementsType())))); break; case MAP: assert value instanceof Map; for (Map.Entry entry : ((Map<?, ?>)value).entrySet()) builder.addCell(cell(column, toByteBuffer(entry.getValue(), mt.getValuesType()), CellPath.create(toByteBuffer(entry.getKey(), mt.getKeysType())))); break; default:
private Row.SimpleBuilder add(String columnName, Object value, boolean overwriteForCollection) maybeInit(); ColumnDefinition column = getColumn(columnName); builder.addCell(cell(column, toByteBuffer(value, column.type), null)); return this; assert value instanceof List; for (Object elt : (List)value) builder.addCell(cell(column, toByteBuffer(elt, lt.getElementsType()), CellPath.create(ByteBuffer.wrap(UUIDGen.getTimeUUIDBytes())))); break; case SET: assert value instanceof Set; for (Object elt : (Set)value) builder.addCell(cell(column, ByteBufferUtil.EMPTY_BYTE_BUFFER, CellPath.create(toByteBuffer(elt, st.getElementsType())))); break; case MAP: assert value instanceof Map; for (Map.Entry entry : ((Map<?, ?>)value).entrySet()) builder.addCell(cell(column, toByteBuffer(entry.getValue(), mt.getValuesType()), CellPath.create(toByteBuffer(entry.getKey(), mt.getKeysType())))); break; default:
private Row.SimpleBuilder add(String columnName, Object value, boolean overwriteForCollection) maybeInit(); ColumnDefinition column = getColumn(columnName); builder.addCell(cell(column, toByteBuffer(value, column.type), null)); return this; assert value instanceof List; for (Object elt : (List)value) builder.addCell(cell(column, toByteBuffer(elt, lt.getElementsType()), CellPath.create(ByteBuffer.wrap(UUIDGen.getTimeUUIDBytes())))); break; case SET: assert value instanceof Set; for (Object elt : (Set)value) builder.addCell(cell(column, ByteBufferUtil.EMPTY_BYTE_BUFFER, CellPath.create(toByteBuffer(elt, st.getElementsType())))); break; case MAP: assert value instanceof Map; for (Map.Entry entry : ((Map<?, ?>)value).entrySet()) builder.addCell(cell(column, toByteBuffer(entry.getValue(), mt.getValuesType()), CellPath.create(toByteBuffer(entry.getKey(), mt.getKeysType())))); break; default:
public PartitionUpdate build() { // Collect all updated columns PartitionColumns.Builder columns = PartitionColumns.builder(); for (RowBuilder builder : rowBuilders.values()) columns.addAll(builder.columns()); // Note that rowBuilders.size() could include the static column so could be 1 off the really need capacity // of the final PartitionUpdate, but as that's just a sizing hint, we'll live. PartitionUpdate update = new PartitionUpdate(metadata, key, columns.build(), rowBuilders.size()); update.addPartitionDeletion(partitionDeletion); if (rangeBuilders != null) { for (RTBuilder builder : rangeBuilders) update.add(builder.build()); } for (RowBuilder builder : rowBuilders.values()) update.add(builder.build()); return update; }
public PartitionUpdate build() { // Collect all updated columns PartitionColumns.Builder columns = PartitionColumns.builder(); for (RowBuilder builder : rowBuilders.values()) columns.addAll(builder.columns()); // Note that rowBuilders.size() could include the static column so could be 1 off the really need capacity // of the final PartitionUpdate, but as that's just a sizing hint, we'll live. PartitionUpdate update = new PartitionUpdate(metadata, key, columns.build(), rowBuilders.size()); update.addPartitionDeletion(partitionDeletion); if (rangeBuilders != null) { for (RTBuilder builder : rangeBuilders) update.add(builder.build()); } for (RowBuilder builder : rowBuilders.values()) update.add(builder.build()); return update; }
/** * Creates a new simple row builder. * * @param metadata the metadata of the table this is a row of. * @param clusteringValues the value for the clustering columns of the row to add to this build. There may be no * values if either the table has no clustering column, or if you want to edit the static row. Note that as a * shortcut it is also allowed to pass a {@code Clustering} object directly, in which case that should be the * only argument. * @return a newly created builder. */ public static Row.SimpleBuilder simpleBuilder(CFMetaData metadata, Object... clusteringValues) { return new SimpleBuilders.RowBuilder(metadata, clusteringValues); }
/** * Creates a new simple row builder. * * @param metadata the metadata of the table this is a row of. * @param clusteringValues the value for the clustering columns of the row to add to this build. There may be no * values if either the table has no clustering column, or if you want to edit the static row. Note that as a * shortcut it is also allowed to pass a {@code Clustering} object directly, in which case that should be the * only argument. * @return a newly created builder. */ public static Row.SimpleBuilder simpleBuilder(CFMetaData metadata, Object... clusteringValues) { return new SimpleBuilders.RowBuilder(metadata, clusteringValues); }
/** * Creates a new simple row builder. * * @param metadata the metadata of the table this is a row of. * @param clusteringValues the value for the clustering columns of the row to add to this build. There may be no * values if either the table has no clustering column, or if you want to edit the static row. Note that as a * shortcut it is also allowed to pass a {@code Clustering} object directly, in which case that should be the * only argument. * @return a newly created builder. */ public static Row.SimpleBuilder simpleBuilder(CFMetaData metadata, Object... clusteringValues) { return new SimpleBuilders.RowBuilder(metadata, clusteringValues); }
public Row.SimpleBuilder appendAll(String columnName, Object value) { return add(columnName, value, false); }
public Row.SimpleBuilder delete(String columnName) { return add(columnName, null); }
public Row.SimpleBuilder add(String columnName, Object value) { return add(columnName, value, true); }
public Row.SimpleBuilder delete(String columnName) { return add(columnName, null); }
public Row.SimpleBuilder appendAll(String columnName, Object value) { return add(columnName, value, false); }
public Row.SimpleBuilder delete(String columnName) { return add(columnName, null); }
public Row.SimpleBuilder add(String columnName, Object value) { return add(columnName, value, true); }
public Row.SimpleBuilder add(String columnName, Object value) { return add(columnName, value, true); }
public Row.SimpleBuilder appendAll(String columnName, Object value) { return add(columnName, value, false); }
public Row build() { maybeInit(); return builder.build(); }