From commits-return-22526-archive-asf-public=cust-asf.ponee.io@accumulo.apache.org Wed Jan 23 22:24:58 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 68DCB18066C for ; Wed, 23 Jan 2019 22:24:57 +0100 (CET) Received: (qmail 42919 invoked by uid 500); 23 Jan 2019 21:24:56 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 42910 invoked by uid 99); 23 Jan 2019 21:24:56 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Jan 2019 21:24:56 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id EEE35854FE; Wed, 23 Jan 2019 21:24:55 +0000 (UTC) Date: Wed, 23 Jan 2019 21:24:55 +0000 To: "commits@accumulo.apache.org" Subject: [accumulo] branch master updated: Improved some 2.0 javadocs (#913) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <154827869553.12515.16109166564637423059@gitbox.apache.org> From: kturner@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: accumulo X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: b161b6600a89bca090dd2ce4138c132dfa35d672 X-Git-Newrev: 781ff87ac7a7dd0e4a611bc9b9884e6a083406dd X-Git-Rev: 781ff87ac7a7dd0e4a611bc9b9884e6a083406dd X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated 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 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. * *
    - *
  • 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). + *
  • Hadoop input, output formats and partitioners in {@code org.apache.accumulo.hadoop.mapred} + * and {@code org.apache.accumulo.hadoop.mapreduce} packages. *
  • {@code org.apache.accumulo.minicluster.MiniAccumuloCluster} Not linkable by javadoc, because * in a separate module. - *
  • {@link Lexicoder} and all of its implementations in the same package (excluding the - * {@code impl} sub-package). + *
  • {@link Lexicoder} and all of its implementations in the same package. *
  • {@link RFile} *
* 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. * *

* 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 Accumulo Client + * Documentation */ public interface AccumuloClient extends AutoCloseable { @@ -357,6 +359,8 @@ public interface AccumuloClient extends AutoCloseable { * @param propertiesFilePath * Path to properties file * @return this builder + * @see Client + * properties documentation */ FromOptions from(String propertiesFilePath); @@ -367,16 +371,20 @@ public interface AccumuloClient extends AutoCloseable { * @param propertiesFile * Path to properties file * @return this builder + * @see Client + * properties documentation */ FromOptions 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 Client + * properties documentation */ FromOptions 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 write(Iterator 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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.) + * + *

+ * 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 { *

* The put and delete methods end the chain and add the modification to the Mutation. * + *

+ * The following is an example if using {@code at()} to put and delete. Notice how the example + * mixes {@code String} and {@code byte[]}. + * + *

+ * + *

+   * 
+   *   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();
+   * 
+   * 
+ * * @return a new FamilyOptions object, starting the method chain * @since 2.0.0 */