Operation (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.cql3

## Class Operation

- java.lang.Object
- - org.apache.cassandra.cql3.Operation

- Direct Known Subclasses:
    Constants.Adder, Constants.Deleter, Constants.Setter, Constants.Substracter, Lists.Appender, Lists.Discarder, Lists.DiscarderByIndex, Lists.Prepender, Lists.Setter, Lists.SetterByIndex, Maps.AdderByKey, Maps.DiscarderByKey, Maps.Putter, Maps.Setter, Maps.SetterByKey, Maps.SubtracterByKey, Sets.Adder, Sets.Discarder, Sets.ElementDiscarder, Sets.Setter, UserTypes.DeleterByField, UserTypes.Setter, UserTypes.SetterByField

      public abstract class Operation
      extends java.lang.Object

  An UPDATE or DELETE operation. For UPDATE this includes: - setting a constant - counter operations - collections operations and for DELETE: - deleting a column - deleting an element of collection column Fine grained operation are obtained from their raw counterpart (Operation.Raw, which correspond to a parsed, non-checked operation) by provided the receiver for the operation.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Operation.Addition`
    `static class` | `Operation.ColumnDeletion`
    `static class` | `Operation.ElementAddition`
    `static class` | `Operation.ElementDeletion`
    `static class` | `Operation.ElementSubtraction`
    `static class` | `Operation.FieldDeletion`
    `static class` | `Operation.Prepend`
    `static interface` | `Operation.RawDeletion` A parsed raw DELETE operation.
    `static interface` | `Operation.RawUpdate` A parsed raw UPDATE operation.
    `static class` | `Operation.SetElement`
    `static class` | `Operation.SetField`
    `static class` | `Operation.SetValue`
    `static class` | `Operation.Substraction`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `ColumnDefinition` | `column`
    `protected Term` | `t`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Operation(ColumnDefinition column, Term t)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFunctionsTo(java.util.List<Function> functions)`
    `void` | `collectMarkerSpecification(VariableSpecifications boundNames)` Collects the column specification for the bind variables of this operation.
    `abstract void` | `execute(DecoratedKey partitionKey, UpdateParameters params)` Execute the operation.
    `boolean` | `requiresRead()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### column

          public final ColumnDefinition column

    - #### t

          protected final Term t

  - ### Constructor Detail

    - #### Operation

          protected Operation(ColumnDefinition column,
                              Term t)

  - ### Method Detail

    - #### addFunctionsTo

          public void addFunctionsTo(java.util.List<Function> functions)

    - #### requiresRead

          public boolean requiresRead()

      Returns:
        whether the operation requires a read of the previous value to be executed (only lists setterByIdx, discard and discardByIdx requires that).

    - #### collectMarkerSpecification

          public void collectMarkerSpecification(VariableSpecifications boundNames)

      Collects the column specification for the bind variables of this operation.
      Parameters:
        `boundNames` - the list of column specification where to collect the bind variables of this term in.

    - #### execute

          public abstract void execute(DecoratedKey partitionKey,
                                       UpdateParameters params)
                                throws InvalidRequestException

      Execute the operation.
      Parameters:
        `partitionKey` - partition key for the update.
        `params` - parameters of the update.
      Throws:
        `InvalidRequestException`

Copyright © 2018 The Apache Software Foundation