You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2019/01/23 21:24:55 UTC
[accumulo] branch master updated: Improved some 2.0 javadocs (#913)
This is an automated email from the ASF dual-hosted git repository.
kturner pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/master by this push:
new 781ff87 Improved some 2.0 javadocs (#913)
781ff87 is described below
commit 781ff87ac7a7dd0e4a611bc9b9884e6a083406dd
Author: Keith Turner <kt...@apache.org>
AuthorDate: Wed Jan 23 16:24:51 2019 -0500
Improved some 2.0 javadocs (#913)
---
.../org/apache/accumulo/core/client/Accumulo.java | 8 ++--
.../accumulo/core/client/AccumuloClient.java | 14 +++++--
.../accumulo/core/client/ConditionalWriter.java | 2 +-
.../core/client/admin/NewTableConfiguration.java | 2 -
.../java/org/apache/accumulo/core/data/Key.java | 44 +++++++++++++++++++-
.../org/apache/accumulo/core/data/Mutation.java | 47 ++++++++++++++++++++++
6 files changed, 105 insertions(+), 12 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java b/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java
index 9ad5da6..8bca022 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/Accumulo.java
@@ -28,13 +28,11 @@ import org.apache.accumulo.core.clientImpl.ClientContext;
* not accessible from here.
*
* <UL>
- * <LI>Hadoop input, output formats and partitioners in
- * {@code org.apache.accumulo.core.client.mapred} and
- * {@code org.apache.accumulo.core.client.mapreduce} packages (excluding {@code impl} sub-packages).
+ * <LI>Hadoop input, output formats and partitioners in {@code org.apache.accumulo.hadoop.mapred}
+ * and {@code org.apache.accumulo.hadoop.mapreduce} packages.
* <LI>{@code org.apache.accumulo.minicluster.MiniAccumuloCluster} Not linkable by javadoc, because
* in a separate module.
- * <LI>{@link Lexicoder} and all of its implementations in the same package (excluding the
- * {@code impl} sub-package).
+ * <LI>{@link Lexicoder} and all of its implementations in the same package.
* <LI>{@link RFile}
* </UL>
*
diff --git a/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java b/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
index efaaac7..ee6a627 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/AccumuloClient.java
@@ -30,7 +30,7 @@ import org.apache.accumulo.core.security.Authorizations;
/**
* Client connection to an Accumulo instance. Allows the user to request a scanner, deleter or
* writer for the instance as well as various objects that permit administrative operations.
- * Enforces security on the client side with by requiring user credentials.
+ * Enforces security on the client side by requiring user credentials.
*
* <p>
* Supports fluent API for creation. Various options can be provided to {@link Accumulo#newClient()}
@@ -55,6 +55,8 @@ import org.apache.accumulo.core.security.Authorizations;
* AccumuloClient and pass it around.
*
* @since 2.0.0
+ * @see <a href=https://accumulo.apache.org/docs/2.x/getting-started/clients>Accumulo Client
+ * Documentation</a>
*/
public interface AccumuloClient extends AutoCloseable {
@@ -357,6 +359,8 @@ public interface AccumuloClient extends AutoCloseable {
* @param propertiesFilePath
* Path to properties file
* @return this builder
+ * @see <a href=https://accumulo.apache.org/docs/2.x/configuration/client-properties>Client
+ * properties documentation</a>
*/
FromOptions<T> from(String propertiesFilePath);
@@ -367,16 +371,20 @@ public interface AccumuloClient extends AutoCloseable {
* @param propertiesFile
* Path to properties file
* @return this builder
+ * @see <a href=https://accumulo.apache.org/docs/2.x/configuration/client-properties>Client
+ * properties documentation</a>
*/
FromOptions<T> from(Path propertiesFile);
/**
- * Build using Java properties object. A list of available properties can be found in the
- * documentation at https://accumulo.apache.org/docs/2.x/configuration/client-properties
+ * Build using Java properties object. An example properties file can be found at
+ * conf/accumulo-client.properties in the Accumulo tarball distribution.
*
* @param properties
* Properties object
* @return this builder
+ * @see <a href=https://accumulo.apache.org/docs/2.x/configuration/client-properties>Client
+ * properties documentation</a>
*/
FromOptions<T> from(Properties properties);
}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java
index b75ff07..ca9502f 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java
@@ -127,7 +127,7 @@ public interface ConditionalWriter extends AutoCloseable {
Iterator<Result> write(Iterator<ConditionalMutation> mutations);
/**
- * This method has the same thread safety guarantees as @link {@link #write(Iterator)}
+ * This method has the same thread safety guarantees as {@link #write(Iterator)}
*
* @return Result for the submitted mutation
*/
diff --git a/core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java b/core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
index defd18a..48849a3 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/admin/NewTableConfiguration.java
@@ -126,8 +126,6 @@ public class NewTableConfiguration {
/**
* Return value indicating whether table is to be created in offline or online mode.
*
- * @return 1 if true; 0 otherwise.
- *
* @since 2.0.0
*/
public InitialTableState getInitialTableState() {
diff --git a/core/src/main/java/org/apache/accumulo/core/data/Key.java b/core/src/main/java/org/apache/accumulo/core/data/Key.java
index a7b513d..aab3dd8 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/Key.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/Key.java
@@ -62,10 +62,12 @@ public class Key implements WritableComparable<Key>, Cloneable {
}
/**
- * Create a {@link Key} builder. Copy bytes defaults to true.
+ * Create a {@link Key} builder. Using the builder makes it easy to mix types, like {@code String}
+ * and {@code byte[]}, for different fields. Copy bytes defaults to true.
*
* @since 2.0
* @return the builder at the {@link KeyBuilder.RowStep}
+ * @see #builder(boolean)
*/
public static KeyBuilder.RowStep builder() {
return new KeyBuilder.KeyBuilderImpl(true);
@@ -121,6 +123,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
*
* @param row
* row ID
+ * @see #builder()
*/
public Key(Text row) {
init(row.getBytes(), 0, row.getLength(), EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0,
@@ -137,6 +140,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* @param row
* row ID
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row) {
init(row, 0, row.length, EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0,
@@ -151,6 +155,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* row ID
* @param ts
* timestamp
+ * @see #builder()
*/
public Key(Text row, long ts) {
this(row);
@@ -169,6 +174,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* @param ts
* timestamp
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row, long ts) {
this(row);
@@ -207,6 +213,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* length of column visibility in cv
* @param ts
* timestamp
+ * @see #builder()
*/
public Key(byte row[], int rOff, int rLen, byte cf[], int cfOff, int cfLen, byte cq[], int cqOff,
int cqLen, byte cv[], int cvOff, int cvLen, long ts) {
@@ -249,6 +256,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* delete marker
* @param copy
* if true, forces copy of byte array values into key
+ * @see #builder()
*/
Key(byte row[], int rOff, int rLen, byte cf[], int cfOff, int cfLen, byte cq[], int cqOff,
int cqLen, byte cv[], int cvOff, int cvLen, long ts, boolean deleted, boolean copy) {
@@ -271,6 +279,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* column visibility
* @param timestamp
* timestamp
+ * @see #builder()
*/
public Key(byte[] row, byte[] colFamily, byte[] colQualifier, byte[] colVisibility,
long timestamp) {
@@ -295,6 +304,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* timestamp
* @param deleted
* delete marker
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf, byte[] cq, byte[] cv, long ts, boolean deleted) {
this(row, cf, cq, cv, ts, deleted, true);
@@ -317,6 +327,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* delete marker
* @param copy
* if true, forces copy of byte array values into key
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf, byte[] cq, byte[] cv, long ts, boolean deleted, boolean copy) {
init(row, 0, row.length, cf, 0, cf.length, cq, 0, cq.length, cv, 0, cv.length, ts, deleted,
@@ -326,6 +337,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Creates a key with the specified row, the specified column family, empty column qualifier,
* empty column visibility, timestamp {@link Long#MAX_VALUE}, and delete marker false.
+ *
+ * @see #builder()
*/
public Key(Text row, Text cf) {
init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), EMPTY_BYTES, 0, 0,
@@ -341,6 +354,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* instead.
*
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf) {
init(row, 0, row.length, cf, 0, cf.length, EMPTY_BYTES, 0, 0, EMPTY_BYTES, 0, 0, Long.MAX_VALUE,
@@ -350,6 +364,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Creates a key with the specified row, the specified column family, the specified column
* qualifier, empty column visibility, timestamp {@link Long#MAX_VALUE}, and delete marker false.
+ *
+ * @see #builder()
*/
public Key(Text row, Text cf, Text cq) {
init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0,
@@ -365,6 +381,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* instead.
*
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf, byte[] cq) {
init(row, 0, row.length, cf, 0, cf.length, cq, 0, cq.length, EMPTY_BYTES, 0, 0, Long.MAX_VALUE,
@@ -375,6 +392,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
* Creates a key with the specified row, the specified column family, the specified column
* qualifier, the specified column visibility, timestamp {@link Long#MAX_VALUE}, and delete marker
* false.
+ *
+ * @see #builder()
*/
public Key(Text row, Text cf, Text cq, Text cv) {
init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0,
@@ -390,6 +409,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* instead.
*
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf, byte[] cq, byte[] cv) {
init(row, 0, row.length, cf, 0, cf.length, cq, 0, cq.length, cv, 0, cv.length, Long.MAX_VALUE,
@@ -399,6 +419,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Creates a key with the specified row, the specified column family, the specified column
* qualifier, empty column visibility, the specified timestamp, and delete marker false.
+ *
+ * @see #builder()
*/
public Key(Text row, Text cf, Text cq, long ts) {
init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0,
@@ -414,6 +436,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* instead.
*
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf, byte[] cq, long ts) {
init(row, 0, row.length, cf, 0, cf.length, cq, 0, cq.length, EMPTY_BYTES, 0, 0, ts, false,
@@ -423,6 +446,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Creates a key with the specified row, the specified column family, the specified column
* qualifier, the specified column visibility, the specified timestamp, and delete marker false.
+ *
+ * @see #builder()
*/
public Key(Text row, Text cf, Text cq, Text cv, long ts) {
init(row.getBytes(), 0, row.getLength(), cf.getBytes(), 0, cf.getLength(), cq.getBytes(), 0,
@@ -432,6 +457,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Creates a key with the specified row, the specified column family, the specified column
* qualifier, the specified column visibility, the specified timestamp, and delete marker false.
+ *
+ * @see #builder()
*/
public Key(Text row, Text cf, Text cq, ColumnVisibility cv, long ts) {
byte[] expr = cv.getExpression();
@@ -448,6 +475,7 @@ public class Key implements WritableComparable<Key>, Cloneable {
* instead.
*
* @since 1.8.0
+ * @see #builder()
*/
public Key(byte[] row, byte[] cf, byte[] cq, ColumnVisibility cv, long ts) {
byte[] expr = cv.getExpression();
@@ -457,6 +485,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using {@link #Key(Text)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row) {
this(new Text(row.toString()));
@@ -464,6 +494,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row, CharSequence cf) {
this(new Text(row.toString()), new Text(cf.toString()));
@@ -471,6 +503,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row, CharSequence cf, CharSequence cq) {
this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()));
@@ -478,6 +512,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,Text)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row, CharSequence cf, CharSequence cq, CharSequence cv) {
this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()),
@@ -486,6 +522,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,long)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row, CharSequence cf, CharSequence cq, long ts) {
this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()), ts);
@@ -493,6 +531,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using {@link #Key(Text,Text,Text,Text,long)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row, CharSequence cf, CharSequence cq, CharSequence cv, long ts) {
this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()),
@@ -502,6 +542,8 @@ public class Key implements WritableComparable<Key>, Cloneable {
/**
* Converts CharSequence to Text and creates a Key using
* {@link #Key(Text,Text,Text,ColumnVisibility,long)}.
+ *
+ * @see #builder()
*/
public Key(CharSequence row, CharSequence cf, CharSequence cq, ColumnVisibility cv, long ts) {
this(new Text(row.toString()), new Text(cf.toString()), new Text(cq.toString()),
diff --git a/core/src/main/java/org/apache/accumulo/core/data/Mutation.java b/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
index ee11ef3..760bfab 100644
--- a/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
+++ b/core/src/main/java/org/apache/accumulo/core/data/Mutation.java
@@ -62,6 +62,11 @@ import com.google.common.base.Preconditions;
* rather, they indicate that Accumulo should insert a delete marker for that row column. A delete
* marker effectively hides entries for that row column with a timestamp earlier than the marker's.
* (The hidden data is eventually removed during Accumulo garbage collection.)
+ *
+ * <p>
+ * This class has many overloaded {@code put} and {@code putDelete} methods. These were added to
+ * support different subset of fields and types. The functionality of all of these {@code put}
+ * methods and more is provided by the new fluent {@link #at()} method added in 2.0.
*/
public class Mutation implements Writable {
@@ -386,6 +391,7 @@ public class Mutation implements Writable {
* column qualifier
* @param value
* cell value
+ * @see #at()
*/
public void put(Text columnFamily, Text columnQualifier, Value value) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, false, value.get());
@@ -403,6 +409,7 @@ public class Mutation implements Writable {
* column visibility
* @param value
* cell value
+ * @see #at()
*/
public void put(Text columnFamily, Text columnQualifier, ColumnVisibility columnVisibility,
Value value) {
@@ -422,6 +429,7 @@ public class Mutation implements Writable {
* timestamp
* @param value
* cell value
+ * @see #at()
*/
public void put(Text columnFamily, Text columnQualifier, long timestamp, Value value) {
put(columnFamily, columnQualifier, EMPTY_BYTES, true, timestamp, false, value.get());
@@ -440,6 +448,7 @@ public class Mutation implements Writable {
* timestamp
* @param value
* cell value
+ * @see #at()
*/
public void put(Text columnFamily, Text columnQualifier, ColumnVisibility columnVisibility,
long timestamp, Value value) {
@@ -455,6 +464,7 @@ public class Mutation implements Writable {
* column family
* @param columnQualifier
* column qualifier
+ * @see #at()
*/
public void putDelete(Text columnFamily, Text columnQualifier) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, true, EMPTY_BYTES);
@@ -469,6 +479,7 @@ public class Mutation implements Writable {
* column qualifier
* @param columnVisibility
* column visibility
+ * @see #at()
*/
public void putDelete(Text columnFamily, Text columnQualifier,
ColumnVisibility columnVisibility) {
@@ -486,6 +497,7 @@ public class Mutation implements Writable {
* column qualifier
* @param timestamp
* timestamp
+ * @see #at()
*/
public void putDelete(Text columnFamily, Text columnQualifier, long timestamp) {
put(columnFamily, columnQualifier, EMPTY_BYTES, true, timestamp, true, EMPTY_BYTES);
@@ -502,6 +514,7 @@ public class Mutation implements Writable {
* column visibility
* @param timestamp
* timestamp
+ * @see #at()
*/
public void putDelete(Text columnFamily, Text columnQualifier, ColumnVisibility columnVisibility,
long timestamp) {
@@ -517,6 +530,7 @@ public class Mutation implements Writable {
* column family
* @param columnQualifier
* column qualifier
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier, Value value) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, false, value.get());
@@ -534,6 +548,7 @@ public class Mutation implements Writable {
* column visibility
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier,
ColumnVisibility columnVisibility, Value value) {
@@ -553,6 +568,7 @@ public class Mutation implements Writable {
* timestamp
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier, long timestamp,
Value value) {
@@ -572,6 +588,7 @@ public class Mutation implements Writable {
* timestamp
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier,
ColumnVisibility columnVisibility, long timestamp, Value value) {
@@ -587,6 +604,7 @@ public class Mutation implements Writable {
* column family
* @param columnQualifier
* column qualifier
+ * @see #at()
*/
public void putDelete(CharSequence columnFamily, CharSequence columnQualifier) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, true, EMPTY_BYTES);
@@ -602,6 +620,7 @@ public class Mutation implements Writable {
* column qualifier
* @param columnVisibility
* column visibility
+ * @see #at()
*/
public void putDelete(CharSequence columnFamily, CharSequence columnQualifier,
ColumnVisibility columnVisibility) {
@@ -619,6 +638,7 @@ public class Mutation implements Writable {
* column qualifier
* @param timestamp
* timestamp
+ * @see #at()
*/
public void putDelete(CharSequence columnFamily, CharSequence columnQualifier, long timestamp) {
put(columnFamily, columnQualifier, EMPTY_BYTES, true, timestamp, true, EMPTY_BYTES);
@@ -635,6 +655,7 @@ public class Mutation implements Writable {
* column visibility
* @param timestamp
* timestamp
+ * @see #at()
*/
public void putDelete(CharSequence columnFamily, CharSequence columnQualifier,
ColumnVisibility columnVisibility, long timestamp) {
@@ -652,6 +673,7 @@ public class Mutation implements Writable {
* column qualifier
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier, CharSequence value) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, false, value);
@@ -669,6 +691,7 @@ public class Mutation implements Writable {
* column visibility
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier,
ColumnVisibility columnVisibility, CharSequence value) {
@@ -687,6 +710,7 @@ public class Mutation implements Writable {
* timestamp
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier, long timestamp,
CharSequence value) {
@@ -706,6 +730,7 @@ public class Mutation implements Writable {
* timestamp
* @param value
* cell value
+ * @see #at()
*/
public void put(CharSequence columnFamily, CharSequence columnQualifier,
ColumnVisibility columnVisibility, long timestamp, CharSequence value) {
@@ -724,6 +749,7 @@ public class Mutation implements Writable {
* @param value
* cell value
* @since 1.5.0
+ * @see #at()
*/
public void put(byte[] columnFamily, byte[] columnQualifier, byte[] value) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, false, value);
@@ -742,6 +768,7 @@ public class Mutation implements Writable {
* @param value
* cell value
* @since 1.5.0
+ * @see #at()
*/
public void put(byte[] columnFamily, byte[] columnQualifier, ColumnVisibility columnVisibility,
byte[] value) {
@@ -761,6 +788,7 @@ public class Mutation implements Writable {
* @param value
* cell value
* @since 1.5.0
+ * @see #at()
*/
public void put(byte[] columnFamily, byte[] columnQualifier, long timestamp, byte[] value) {
put(columnFamily, columnQualifier, EMPTY_BYTES, true, timestamp, false, value);
@@ -780,6 +808,7 @@ public class Mutation implements Writable {
* @param value
* cell value
* @since 1.5.0
+ * @see #at()
*/
public void put(byte[] columnFamily, byte[] columnQualifier, ColumnVisibility columnVisibility,
long timestamp, byte[] value) {
@@ -796,6 +825,7 @@ public class Mutation implements Writable {
* @param columnQualifier
* column qualifier
* @since 1.5.0
+ * @see #at()
*/
public void putDelete(byte[] columnFamily, byte[] columnQualifier) {
put(columnFamily, columnQualifier, EMPTY_BYTES, false, 0L, true, EMPTY_BYTES);
@@ -811,6 +841,7 @@ public class Mutation implements Writable {
* @param columnVisibility
* column visibility
* @since 1.5.0
+ * @see #at()
*/
public void putDelete(byte[] columnFamily, byte[] columnQualifier,
ColumnVisibility columnVisibility) {
@@ -829,6 +860,7 @@ public class Mutation implements Writable {
* @param timestamp
* timestamp
* @since 1.5.0
+ * @see #at()
*/
public void putDelete(byte[] columnFamily, byte[] columnQualifier, long timestamp) {
put(columnFamily, columnQualifier, EMPTY_BYTES, true, timestamp, true, EMPTY_BYTES);
@@ -846,6 +878,7 @@ public class Mutation implements Writable {
* @param timestamp
* timestamp
* @since 1.5.0
+ * @see #at()
*/
public void putDelete(byte[] columnFamily, byte[] columnQualifier,
ColumnVisibility columnVisibility, long timestamp) {
@@ -963,6 +996,20 @@ public class Mutation implements Writable {
* <p>
* The put and delete methods end the chain and add the modification to the Mutation.
*
+ * <p>
+ * The following is an example if using {@code at()} to put and delete. Notice how the example
+ * mixes {@code String} and {@code byte[]}.
+ *
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * Mutation m = new Mutation("row0017");
+ * m.at().family("001").qualifier(new byte[] {0,1}).put("v99");
+ * m.at().family("002").qualifier(new byte[] {0,1}).delete();
+ * </code>
+ * </pre>
+ *
* @return a new FamilyOptions object, starting the method chain
* @since 2.0.0
*/