Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,19 @@
import com.google.cloud.bigtable.data.v2.models.Filters.Filter;
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import javax.annotation.Nonnull;

/** Mutates a row atomically based on the output of a condition filter. */
public final class ConditionalRowMutation {
public final class ConditionalRowMutation implements Serializable {
private static final long serialVersionUID = -3699904745621909502L;

private final String tableId;
private final CheckAndMutateRowRequest.Builder builder = CheckAndMutateRowRequest.newBuilder();
private transient CheckAndMutateRowRequest.Builder builder =
CheckAndMutateRowRequest.newBuilder();

private ConditionalRowMutation(String tableId, ByteString rowKey) {
this.tableId = tableId;
Expand All @@ -46,6 +53,16 @@ public static ConditionalRowMutation create(String tableId, ByteString rowKey) {
return new ConditionalRowMutation(tableId, rowKey);
}

private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
input.defaultReadObject();
builder = CheckAndMutateRowRequest.newBuilder().mergeFrom(input);
}

private void writeObject(ObjectOutputStream output) throws IOException {
output.defaultWriteObject();
builder.build().writeTo(output);
}

/**
* The filter to be applied to the contents of the specified row. Depending on whether or not any
* results are yielded, either the mutations added via {@link #then(Mutation)} or {@link
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.google.cloud.bigtable.data.v2.models.Range.AbstractTimestampRange;
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import java.io.Serializable;
import javax.annotation.Nonnull;

/**
Expand Down Expand Up @@ -458,7 +459,7 @@ public QualifierRangeFilter rangeWithinFamily(@Nonnull String family) {

/** Matches only cells from columns within the given range. */
public static final class QualifierRangeFilter
extends AbstractByteStringRange<QualifierRangeFilter> implements Filter {
extends AbstractByteStringRange<QualifierRangeFilter> implements Filter, Serializable {
private final String family;

private QualifierRangeFilter(String family) {
Expand Down Expand Up @@ -519,7 +520,7 @@ public TimestampRangeFilter range() {

/** Matches only cells with microsecond timestamps within the given range. */
public static final class TimestampRangeFilter
extends AbstractTimestampRange<TimestampRangeFilter> implements Filter {
extends AbstractTimestampRange<TimestampRangeFilter> implements Filter, Serializable {
private TimestampRangeFilter() {}

@InternalApi
Expand Down Expand Up @@ -618,7 +619,7 @@ public Filter strip() {

/** Matches only cells with values that fall within the given value range. */
public static final class ValueRangeFilter extends AbstractByteStringRange<ValueRangeFilter>
implements Filter {
implements Filter, Serializable {
private ValueRangeFilter() {}

@InternalApi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@
package com.google.cloud.bigtable.data.v2.models;

import com.google.api.core.InternalApi;
import com.google.api.core.InternalExtensionOnly;
import com.google.auto.value.AutoValue;
import com.google.protobuf.ByteString;
import java.io.Serializable;

/** Represents the offset of a row key in a table. */
@InternalExtensionOnly
@AutoValue
public abstract class KeyOffset {
public abstract class KeyOffset implements Serializable {
@InternalApi
public static KeyOffset create(ByteString key, long offsetBytes) {
return new AutoValue_KeyOffset(key, offsetBytes);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.protobuf.ByteString;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.List;
import javax.annotation.Nonnull;

Expand All @@ -31,8 +35,10 @@
* list of mutations. It used by {@link RowMutation} and {@link ConditionalRowMutation} to
* encapsulate a list of mutations that will to be applied to a single row.
*/
public final class Mutation implements MutationApi<Mutation> {
private final ImmutableList.Builder<com.google.bigtable.v2.Mutation> mutations =
public final class Mutation implements MutationApi<Mutation>, Serializable {
private static final long serialVersionUID = 5893216644683374339L;

private transient ImmutableList.Builder<com.google.bigtable.v2.Mutation> mutations =
ImmutableList.builder();

public static Mutation create() {
Expand All @@ -41,6 +47,20 @@ public static Mutation create() {

private Mutation() {}

private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
input.defaultReadObject();

@SuppressWarnings("unchecked")
ImmutableList<com.google.bigtable.v2.Mutation> deserialized =
(ImmutableList<com.google.bigtable.v2.Mutation>) input.readObject();
this.mutations = ImmutableList.<com.google.bigtable.v2.Mutation>builder().addAll(deserialized);
}

private void writeObject(ObjectOutputStream output) throws IOException {
output.defaultWriteObject();
output.writeObject(mutations.build());
}

@Override
public Mutation setCell(
@Nonnull String familyName, @Nonnull String qualifier, @Nonnull String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,13 @@
*/
package com.google.cloud.bigtable.data.v2.models;

import com.google.api.core.InternalExtensionOnly;
import com.google.cloud.bigtable.data.v2.models.Range.TimestampRange;
import com.google.protobuf.ByteString;
import javax.annotation.Nonnull;

/** The API for creating mutations for a single row. */
@InternalExtensionOnly
public interface MutationApi<T extends MutationApi<T>> {
/**
* Adds a mutation which sets the value of the specified cell.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,17 @@
import com.google.cloud.bigtable.data.v2.models.Range.ByteStringRange;
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

/** A simple wrapper to construct a query for the ReadRows RPC. */
public class Query {
public final class Query implements Serializable {
private static final long serialVersionUID = -316972783499434755L;

private final String tableId;
private final ReadRowsRequest.Builder builder = ReadRowsRequest.newBuilder();
private transient ReadRowsRequest.Builder builder = ReadRowsRequest.newBuilder();

/**
* Constructs a new Query object for the specified table id. The table id will be combined with
Expand All @@ -42,6 +48,16 @@ private Query(String tableId) {
this.tableId = tableId;
}

private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
input.defaultReadObject();
builder = ReadRowsRequest.newBuilder().mergeFrom(input);
}

private void writeObject(ObjectOutputStream output) throws IOException {
output.defaultWriteObject();
builder.build().writeTo(output);
}

/** Adds a key to looked up */
public Query rowKey(String key) {
Preconditions.checkNotNull(key, "Key can't be null.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import com.google.protobuf.UnsafeByteOperations;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import javax.annotation.Nonnull;

/**
Expand All @@ -44,7 +48,7 @@
* }</pre>
*/
@InternalExtensionOnly
public abstract class Range<T, R extends Range<T, R>> {
public abstract class Range<T, R extends Range<T, R>> implements Serializable {
public enum BoundType {
OPEN,
CLOSED,
Expand Down Expand Up @@ -179,6 +183,7 @@ protected R clone() {
* Abstract specialization of a {@link Range} for {@link ByteString}s. Allows for easy interop
* with simple Strings.
*/
@InternalExtensionOnly
abstract static class AbstractByteStringRange<R extends AbstractByteStringRange<R>>
extends Range<ByteString, R> implements Cloneable {
AbstractByteStringRange() {
Expand Down Expand Up @@ -274,7 +279,10 @@ static ByteString wrap(String str) {
}

/** Concrete Range for timestamps */
public static final class TimestampRange extends AbstractTimestampRange<TimestampRange> {
public static final class TimestampRange extends AbstractTimestampRange<TimestampRange>
implements Serializable {
private static final long serialVersionUID = 198219379354720855L;

public static TimestampRange unbounded() {
return new TimestampRange(BoundType.UNBOUNDED, null, BoundType.UNBOUNDED, null);
}
Expand Down Expand Up @@ -320,7 +328,10 @@ public int hashCode() {
}

/** Concrete Range for ByteStrings */
public static final class ByteStringRange extends AbstractByteStringRange<ByteStringRange> {
public static final class ByteStringRange extends AbstractByteStringRange<ByteStringRange>
implements Serializable {
private static final long serialVersionUID = 2199230324202930550L;

public static ByteStringRange prefix(String prefix) {
return prefix(ByteString.copyFromUtf8(prefix));
}
Expand Down Expand Up @@ -377,6 +388,14 @@ private ByteStringRange(
super(startBound, start, endBound, end);
}

private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
input.defaultReadObject();
}

private void writeObject(ObjectOutputStream output) throws IOException {
output.defaultWriteObject();
}

@Override
public boolean equals(Object o) {
if (this == o) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,19 @@
import com.google.cloud.bigtable.data.v2.internal.RequestContext;
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import javax.annotation.Nonnull;

/** Wraps a {@link ReadModifyWriteRowRequest}. */
public final class ReadModifyWriteRow {
public final class ReadModifyWriteRow implements Serializable {
private static final long serialVersionUID = -8150045424541029193L;

private final String tableId;
private final ReadModifyWriteRowRequest.Builder builder = ReadModifyWriteRowRequest.newBuilder();
private transient ReadModifyWriteRowRequest.Builder builder =
ReadModifyWriteRowRequest.newBuilder();

private ReadModifyWriteRow(@Nonnull String tableId, @Nonnull ByteString key) {
Preconditions.checkNotNull(tableId, "tableId can't be null.");
Expand All @@ -46,6 +53,16 @@ public static ReadModifyWriteRow create(@Nonnull String tableId, @Nonnull ByteSt
return new ReadModifyWriteRow(tableId, key);
}

private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
input.defaultReadObject();
builder = ReadModifyWriteRowRequest.newBuilder().mergeFrom(input);
}

private void writeObject(ObjectOutputStream output) throws IOException {
output.defaultWriteObject();
builder.build().writeTo(output);
}

/**
* Appends the value to the existing value of the cell. If the targeted cell is unset, it will be
* treated as containing the empty string.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,18 @@
*/
package com.google.cloud.bigtable.data.v2.models;

import com.google.api.core.BetaApi;
import com.google.api.core.InternalApi;
import com.google.api.core.InternalExtensionOnly;
import com.google.auto.value.AutoValue;
import com.google.protobuf.ByteString;
import java.io.Serializable;
import java.util.List;
import javax.annotation.Nonnull;

/** Default representation of a logical row. */
@BetaApi
@InternalExtensionOnly
@AutoValue
public abstract class Row implements Comparable<Row> {
public abstract class Row implements Comparable<Row>, Serializable {
/** Creates a new instance of the {@link Row}. */
@InternalApi
public static Row create(ByteString key, List<RowCell> cells) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,17 @@
package com.google.cloud.bigtable.data.v2.models;

import com.google.api.core.InternalApi;
import com.google.api.core.InternalExtensionOnly;
import com.google.auto.value.AutoValue;
import com.google.protobuf.ByteString;
import java.io.Serializable;
import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

/** Default representation of a cell in a {@link Row}. */
@InternalExtensionOnly
@AutoValue
public abstract class RowCell {
public abstract class RowCell implements Serializable {
/** Creates a new instance of the {@link RowCell}. */
@InternalApi
public static RowCell create(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@
import com.google.cloud.bigtable.data.v2.internal.RequestContext;
import com.google.cloud.bigtable.data.v2.models.Range.TimestampRange;
import com.google.protobuf.ByteString;
import java.io.Serializable;
import javax.annotation.Nonnull;

/**
* Represents a list of mutations targeted at a single row. It's meant to be used as an parameter
* for {@link com.google.cloud.bigtable.data.v2.BigtableDataClient#mutateRowAsync(RowMutation)}.
*/
public final class RowMutation implements MutationApi<RowMutation> {
public final class RowMutation implements MutationApi<RowMutation>, Serializable {
private static final long serialVersionUID = 6529002234913236318L;

private final String tableId;
private final ByteString key;
private final Mutation mutation;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
* raw GRPC stubs.
*
* @see com.google.cloud.bigtable.data.v2.BigtableDataClient For the data client.
* @see com.google.cloud.bigtable.admin.v2.BigtableInstanceAdminClient For instance instance admin client.
* @see com.google.cloud.bigtable.admin.v2.BigtableInstanceAdminClient For instance instance admin
* client.
* @see com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient For table admin client.
*/
package com.google.cloud.bigtable;
Loading