# Package org.apache.storm.topology

- Interface Summary
  Interface | Description
  --- | ---
  BoltDeclarer | BoltDeclarer includes grouping APIs for storm topology.
  ComponentConfigurationDeclarer<T extends ComponentConfigurationDeclarer> |
  IBasicBolt |
  IBasicOutputCollector |
  IComponent | Common methods for all possible components in a topology.
  InputDeclarer<T extends InputDeclarer> |
  IRichBolt | When writing topologies using Java, `IRichBolt` and `IRichSpout` are the main interfaces to use to implement components of the topology.
  IRichSpout | When writing topologies using Java, `IRichBolt` and `IRichSpout` are the main interfaces to use to implement components of the topology.
  IRichStateSpout |
  IStatefulBolt<T extends State> | A bolt abstraction for supporting stateful computation.
  IStatefulComponent<T extends State> | Common methods for stateful components in the topology.
  IStatefulWindowedBolt<T extends State> | A windowed bolt abstraction for supporting windowing operation with state.
  IWindowedBolt | A bolt abstraction for supporting time and count based sliding & tumbling windows.
  OutputFieldsDeclarer |
  ResourceDeclarer<T extends ResourceDeclarer> | This is a new base interface that can be used by anything that wants to mirror RAS's basic API.
  SpoutDeclarer |

- Class Summary
  Class | Description
  --- | ---
  BaseConfigurationDeclarer<T extends ComponentConfigurationDeclarer> |
  BaseStatefulBoltExecutor | Base class that abstracts the common logic for executing bolts in a stateful topology.
  BaseStatefulBoltExecutor.AnchoringOutputCollector |
  BasicBoltExecutor |
  BasicOutputCollector |
  CheckpointTupleForwarder | Wraps `IRichBolt` and forwards checkpoint tuples in a stateful topology.
  ConfigurableTopology | Extensions of this class takes a reference to one or more configuration files.
  OutputFieldsGetter |
  PersistentWindowedBoltExecutor<T extends State> | Wraps a `IStatefulWindowedBolt` and handles the execution.
  SharedOffHeapWithinNode | A request for a shared memory region off heap between workers on a node.
  SharedOffHeapWithinWorker | A request for a shared memory region off heap, but only within a worker.
  SharedOnHeap | A request for a shared memory region on heap.
  StatefulBoltExecutor<T extends State> | Wraps a `IStatefulBolt` and manages the state of the bolt.
  StatefulWindowedBoltExecutor<T extends State> | Wraps a `IStatefulWindowedBolt` and handles the execution.
  TopologyBuilder | TopologyBuilder exposes the Java API for specifying a topology for Storm to execute.
  TupleFieldTimestampExtractor | A `TimestampExtractor` that extracts timestamp from a specific field in the tuple.
  WindowedBoltExecutor | An `IWindowedBolt` wrapper that does the windowing of tuples.

- Exception Summary
  Exception | Description
  --- | ---
  FailedException |
  ReportedFailedException |