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

  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 Details

  - ### SubtopologyBolt

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

- ## Method Details

  - ### 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`