me.prettyprint.hector.api.mutation
Interface Mutator<K>

All Known Implementing Classes:
MutatorImpl

public interface Mutator<K>

A Mutator inserts or deletes values from the cluster. There are two main ways to use a mutator: 1. Use the insert/delete methods to immediately insert of delete values. or 2. Use the addInsertion/addDeletion methods to schedule batch operations and then execute() all of them in batch. The class is not thread-safe.

Author:
Ran Tavory

Method Summary
<N> Mutator<K>
addCounter(K key, String cf, HCounterColumn<N> c)
          Schedule an increment of a CounterColumn to be inserted in batch mode by execute()
<SN,N> Mutator<K>
addCounter(K key, String cf, HCounterSuperColumn<SN,N> sc)
          Schedule an increment of a SuperColumn to be inserted in batch mode by execute()
<N> Mutator<K>
addCounterDeletion(K key, String cf)
          Alternate form for easy deletion of the whole row.
<N> Mutator<K>
addCounterDeletion(K key, String cf, N counterColumnName, Serializer<N> nameSerializer)
          Adds a Deletion to the underlying batch_mutate call.
<SN,N> Mutator<K>
addCounterSubDeletion(K key, String cf, HCounterSuperColumn<SN,N> sc)
          Schedule a counter deletion.
<N> Mutator<K>
addDeletion(Iterable<K> keys, String cf)
          Convenience methods to delete a list of rows.
<N> Mutator<K>
addDeletion(Iterable<K> keys, String cf, long clock)
          Convenience methods to delete a list of rows.
<N> Mutator<K>
addDeletion(K key, String cf)
          Alternate form for easy deletion of the whole row.
<N> Mutator<K>
addDeletion(K key, String cf, long clock)
          Same as above accept we add the clock
<N> Mutator<K>
addDeletion(K key, String cf, N columnName, Serializer<N> nameSerializer)
          Adds a Deletion to the underlying batch_mutate call.
<N> Mutator<K>
addDeletion(K key, String cf, N columnName, Serializer<N> nameSerializer, long clock)
          Adds a Deletion to the underlying batch_mutate call.
<N,V> Mutator<K>
addInsertion(K key, String cf, HColumn<N,V> c)
           
<SN,N,V> Mutator<K>
addInsertion(K key, String cf, HSuperColumn<SN,N,V> sc)
          Schedule an insertion of a supercolumn to be inserted in batch mode by execute()
<SN,N,V> Mutator<K>
addSubDelete(K key, String cf, HSuperColumn<SN,N,V> sc)
           
<SN,N,V> Mutator<K>
addSubDelete(K key, String cf, HSuperColumn<SN,N,V> sc, long clock)
           
<SN,N> Mutator<K>
addSubDelete(K key, String cf, SN sColumnName, N columnName, Serializer<SN> sNameSerializer, Serializer<N> nameSerialer)
           
<SN,N> Mutator<K>
addSubDelete(K key, String cf, SN sColumnName, N columnName, Serializer<SN> sNameSerializer, Serializer<N> nameSerialer, long clock)
           
<SN> Mutator<K>
addSuperDelete(K key, String cf, SN sColumnName, Serializer<SN> sNameSerializer)
          batches a super column for deletion
<N> MutationResult
decrementCounter(K key, String cf, N columnName, long increment)
          Convenient method to decrement a simple counter
<N> MutationResult
delete(K key, String cf, N columnName, Serializer<N> nameSerializer)
           
<N> MutationResult
delete(K key, String cf, N columnName, Serializer<N> nameSerializer, long clock)
           
<N> MutationResult
deleteCounter(K key, String cf, N columnName, Serializer<N> nameSerializer)
           
 Mutator<K> discardPendingMutations()
          Discards all pending mutations.
 MutationResult execute()
          Batch executes all mutations scheduled to this Mutator instance by addInsertion, addDeletion etc.
<N> MutationResult
incrementCounter(K key, String cf, N columnName, long increment)
          Convenient method to increment a simple counter
<N,V> MutationResult
insert(K key, String cf, HColumn<N,V> c)
           
<SN,N,V> MutationResult
insert(K key, String cf, HSuperColumn<SN,N,V> superColumn)
           
<N> MutationResult
insertCounter(K key, String cf, HCounterColumn<N> c)
          Simple and immediate insertion (increment/decrement) of a counter
<SN,N> MutationResult
insertCounter(K key, String cf, HCounterSuperColumn<SN,N> superColumn)
          Simple and immediate insertion (increment/decrement) of a counter part of a super column
<SN,N> MutationResult
subDelete(K key, String cf, SN supercolumnName, N columnName, Serializer<SN> sNameSerializer, Serializer<N> nameSerializer)
          Deletes a subcolumn of a supercolumn
<SN,N> MutationResult
subDeleteCounter(K key, String cf, SN supercolumnName, N columnName, Serializer<SN> sNameSerializer, Serializer<N> nameSerializer)
          Deletes a subcolumn of a supercolumn for a counter
<SN> MutationResult
superDelete(K key, String cf, SN supercolumnName, Serializer<SN> sNameSerializer)
          Deletes a supercolumn immediately
 

Method Detail

insert

<N,V> MutationResult insert(K key,
                            String cf,
                            HColumn<N,V> c)

insert

<SN,N,V> MutationResult insert(K key,
                               String cf,
                               HSuperColumn<SN,N,V> superColumn)

delete

<N> MutationResult delete(K key,
                          String cf,
                          N columnName,
                          Serializer<N> nameSerializer)

delete

<N> MutationResult delete(K key,
                          String cf,
                          N columnName,
                          Serializer<N> nameSerializer,
                          long clock)

subDelete

<SN,N> MutationResult subDelete(K key,
                                String cf,
                                SN supercolumnName,
                                N columnName,
                                Serializer<SN> sNameSerializer,
                                Serializer<N> nameSerializer)
Deletes a subcolumn of a supercolumn

Type Parameters:
SN - super column type
N - subcolumn type

superDelete

<SN> MutationResult superDelete(K key,
                                String cf,
                                SN supercolumnName,
                                Serializer<SN> sNameSerializer)
Deletes a supercolumn immediately

Type Parameters:
SN - super column type

addSuperDelete

<SN> Mutator<K> addSuperDelete(K key,
                               String cf,
                               SN sColumnName,
                               Serializer<SN> sNameSerializer)
batches a super column for deletion


addInsertion

<N,V> Mutator<K> addInsertion(K key,
                              String cf,
                              HColumn<N,V> c)

addInsertion

<SN,N,V> Mutator<K> addInsertion(K key,
                                 String cf,
                                 HSuperColumn<SN,N,V> sc)
Schedule an insertion of a supercolumn to be inserted in batch mode by execute()


addDeletion

<N> Mutator<K> addDeletion(K key,
                           String cf,
                           N columnName,
                           Serializer<N> nameSerializer)
Adds a Deletion to the underlying batch_mutate call. The columnName argument can be null in which case Deletion is created with only the Clock, in this case user defined, resulting in the whole row being deleted.

Type Parameters:
N - column name type
Parameters:
key - row key
cf - column family
columnName - column name. Use null to delete the whole row.
nameSerializer - a name serializer
Returns:
a mutator

addDeletion

<N> Mutator<K> addDeletion(K key,
                           String cf)
Alternate form for easy deletion of the whole row.

Type Parameters:
N -
Parameters:
key -
Returns:

addDeletion

<N> Mutator<K> addDeletion(Iterable<K> keys,
                           String cf)
Convenience methods to delete a list of rows.

Type Parameters:
N -
Parameters:
keys - list of keys to delete
cf - Column Family name
Returns:
this object (method chain)

addDeletion

<N> Mutator<K> addDeletion(Iterable<K> keys,
                           String cf,
                           long clock)
Convenience methods to delete a list of rows.

Type Parameters:
N -
Parameters:
keys - list of keys to delete
cf - Column Family name
clock - user defined clock
Returns:
this object (method chain)

addDeletion

<N> Mutator<K> addDeletion(K key,
                           String cf,
                           long clock)
Same as above accept we add the clock

Type Parameters:
N -
Parameters:
key -
Returns:

addDeletion

<N> Mutator<K> addDeletion(K key,
                           String cf,
                           N columnName,
                           Serializer<N> nameSerializer,
                           long clock)
Adds a Deletion to the underlying batch_mutate call. The columnName argument can be null in which case Deletion is created with only the Clock, in this case user defined, resulting in the whole row being deleted.

Type Parameters:
N - column name type
Parameters:
key - row key
cf - column family
columnName - column name. Use null to delete the whole row.
nameSerializer - a name serializer
clock - custom clock to use in the deletion
Returns:
a mutator

addSubDelete

<SN,N,V> Mutator<K> addSubDelete(K key,
                                 String cf,
                                 HSuperColumn<SN,N,V> sc)

addSubDelete

<SN,N,V> Mutator<K> addSubDelete(K key,
                                 String cf,
                                 HSuperColumn<SN,N,V> sc,
                                 long clock)

addSubDelete

<SN,N> Mutator<K> addSubDelete(K key,
                               String cf,
                               SN sColumnName,
                               N columnName,
                               Serializer<SN> sNameSerializer,
                               Serializer<N> nameSerialer)

addSubDelete

<SN,N> Mutator<K> addSubDelete(K key,
                               String cf,
                               SN sColumnName,
                               N columnName,
                               Serializer<SN> sNameSerializer,
                               Serializer<N> nameSerialer,
                               long clock)

execute

MutationResult execute()
Batch executes all mutations scheduled to this Mutator instance by addInsertion, addDeletion etc. May throw a HectorException which is a RuntimeException.

Returns:
A MutationResult holds the status.

discardPendingMutations

Mutator<K> discardPendingMutations()
Discards all pending mutations.


insertCounter

<N> MutationResult insertCounter(K key,
                                 String cf,
                                 HCounterColumn<N> c)
Simple and immediate insertion (increment/decrement) of a counter


insertCounter

<SN,N> MutationResult insertCounter(K key,
                                    String cf,
                                    HCounterSuperColumn<SN,N> superColumn)
Simple and immediate insertion (increment/decrement) of a counter part of a super column


incrementCounter

<N> MutationResult incrementCounter(K key,
                                    String cf,
                                    N columnName,
                                    long increment)
Convenient method to increment a simple counter


decrementCounter

<N> MutationResult decrementCounter(K key,
                                    String cf,
                                    N columnName,
                                    long increment)
Convenient method to decrement a simple counter


deleteCounter

<N> MutationResult deleteCounter(K key,
                                 String cf,
                                 N columnName,
                                 Serializer<N> nameSerializer)

subDeleteCounter

<SN,N> MutationResult subDeleteCounter(K key,
                                       String cf,
                                       SN supercolumnName,
                                       N columnName,
                                       Serializer<SN> sNameSerializer,
                                       Serializer<N> nameSerializer)
Deletes a subcolumn of a supercolumn for a counter

Type Parameters:
SN - super column type
N - subcolumn type

addCounter

<N> Mutator<K> addCounter(K key,
                          String cf,
                          HCounterColumn<N> c)
Schedule an increment of a CounterColumn to be inserted in batch mode by execute()


addCounter

<SN,N> Mutator<K> addCounter(K key,
                             String cf,
                             HCounterSuperColumn<SN,N> sc)
Schedule an increment of a SuperColumn to be inserted in batch mode by execute()


addCounterDeletion

<N> Mutator<K> addCounterDeletion(K key,
                                  String cf,
                                  N counterColumnName,
                                  Serializer<N> nameSerializer)
Adds a Deletion to the underlying batch_mutate call. The columnName argument can be null in which case the whole row being deleted.

Type Parameters:
N - column name type
Parameters:
key - row key
cf - column family
counterColumnName - column name. Use null to delete the whole row.
nameSerializer - a name serializer
Returns:
a mutator

addCounterDeletion

<N> Mutator<K> addCounterDeletion(K key,
                                  String cf)
Alternate form for easy deletion of the whole row.

Type Parameters:
N -
Parameters:
key -
Returns:

addCounterSubDeletion

<SN,N> Mutator<K> addCounterSubDeletion(K key,
                                        String cf,
                                        HCounterSuperColumn<SN,N> sc)
Schedule a counter deletion.



Copyright © 2011. All Rights Reserved.