Package org.apache.storm.trident.planner

## Class SubtopologyBolt

- java.lang.Object
- - org.apache.storm.trident.planner.SubtopologyBolt

- All Implemented Interfaces:
    `Serializable`, `IComponent`, `ITridentBatchBolt`

      public class SubtopologyBolt
      extends Object
      implements ITridentBatchBolt

  A Bolt that does processing for a subsection of the complete graph.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `SubtopologyBolt.InitialReceiver` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SubtopologyBolt​(org.apache.storm.shade.org.jgrapht.graph.DefaultDirectedGraph<Node,​IndexedEdge> graph, Set<Node> nodes, Map<Node,​String> batchGroups)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `cleanup()` |
    `void` | `declareOutputFields​(OutputFieldsDeclarer declarer)` | Declare the output schema for all the streams of this topology.
    `void` | `execute​(BatchInfo batchInfo, Tuple tuple)` |
    `void` | `finishBatch​(BatchInfo batchInfo)` |
    `Map<String,​Object>` | `getComponentConfiguration()` | Declare configuration specific to this component.
    `Object` | `initBatchState​(String batchGroup, Object batchId)` |
    `void` | `prepare​(Map<String,​Object> conf, TopologyContext context, BatchOutputCollector batchCollector)` |

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

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

- - ### Constructor Detail

    - #### SubtopologyBolt

          public SubtopologyBolt​(org.apache.storm.shade.org.jgrapht.graph.DefaultDirectedGraph<Node,​IndexedEdge> graph,
                                 Set<Node> nodes,
                                 Map<Node,​String> batchGroups)

  - ### Method Detail

    - #### prepare

          public void prepare​(Map<String,​Object> conf,
                              TopologyContext context,
                              BatchOutputCollector batchCollector)

      Specified by:
        `prepare` in interface `ITridentBatchBolt`

    - #### execute

          public void execute​(BatchInfo batchInfo,
                              Tuple tuple)

      Specified by:
        `execute` in interface `ITridentBatchBolt`

    - #### finishBatch

          public void finishBatch​(BatchInfo batchInfo)

      Specified by:
        `finishBatch` in interface `ITridentBatchBolt`

    - #### initBatchState

          public Object initBatchState​(String batchGroup,
                                       Object batchId)

      Specified by:
        `initBatchState` in interface `ITridentBatchBolt`

    - #### cleanup

          public void cleanup()

      Specified by:
        `cleanup` in interface `ITridentBatchBolt`

    - #### declareOutputFields

          public void declareOutputFields​(OutputFieldsDeclarer declarer)

      Description copied from interface: `IComponent`
      Declare the output schema for all the streams of this topology.
      Specified by:
        `declareOutputFields` in interface `IComponent`
      Parameters:
        `declarer` - this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream

    - #### getComponentConfiguration

          public Map<String,​Object> getComponentConfiguration()

      Description copied from interface: `IComponent`
      Declare configuration specific to this component. Only a subset of the "topology.*" configs can be overridden. The component configuration can be further overridden when constructing the topology using `TopologyBuilder`
      Specified by:
        `getComponentConfiguration` in interface `IComponent`