Package org.apache.storm.topology

# Interface IComponent

All Superinterfaces:
  `Serializable`

All Known Subinterfaces:
  `IBasicBolt`, `IBatchBolt<T>`, `IRichBolt`, `IRichSpout`, `IRichStateSpout`, `IStatefulBolt<T>`, `IStatefulComponent<T>`, `IStatefulWindowedBolt<T>`, `ITridentBatchBolt`, `IWindowedBolt`

All Known Implementing Classes:
  `AbstractHdfsBolt`, `AbstractJdbcBolt`, `AbstractRankerBolt`, `AbstractRedisBolt`, `AnchoredWordCount.RandomSentenceSpout`, `AnchoredWordCount.SplitSentence`, `AnchoredWordCount.WordCount`, `AvroGenericRecordBolt`, `BaseBasicBolt`, `BaseBatchBolt`, `BaseComponent`, `BaseRichBolt`, `BaseRichSpout`, `BaseStatefulBolt`, `BaseStatefulBoltExecutor`, `BaseStatefulWindowedBolt`, `BaseTickTupleAwareRichBolt`, `BaseWindowedBolt`, `BasicBoltExecutor`, `BasicDRPCTopology.ExclaimBolt`, `BatchBoltExecutor`, `BlobStoreAPIWordCountTopology.FilterWords`, `BlobStoreAPIWordCountTopology.RandomSentenceSpout`, `BlobStoreAPIWordCountTopology.SplitSentence`, `BoltTracker`, `CheckpointSpout`, `CheckpointTupleForwarder`, `ClojureBolt`, `ClojureSpout`, `ConstSpout`, `CoordinatedBolt`, `CountBolt`, `DevNullBolt`, `DRPCSpout`, `ExclamationTopology.ExclamationBolt`, `ExclamationTopology.ExclamationBolt`, `ExclamationTopology.FixedOrderWordSpout`, `FastWordCountTopology.FastRandomSentenceSpout`, `FastWordCountTopology.SplitSentence`, `FastWordCountTopology.WordCount`, `FeederSpout`, `FileReadSpout`, `FixedTupleSpout`, `FluxShellBolt`, `FluxShellSpout`, `GenericBolt`, `HdfsBolt`, `HdfsFileTopology.MyBolt`, `HdfsFileTopology.SentenceSpout`, `HdfsSpout`, `HdfsSpoutTopology.ConstBolt`, `IdBolt`, `IdentityBolt`, `IdentityBolt`, `IncrementingSpout`, `InOrderDeliveryTest.Check`, `InOrderDeliveryTest.InOrderSpout`, `IntermediateRankingsBolt`, `JdbcInsertBolt`, `JdbcLookupBolt`, `JmsBolt`, `JmsSpout`, `JoinBolt`, `JoinResult`, `KafkaBolt`, `KafkaSpout`, `KafkaSpoutTestBolt`, `KeyedFairBolt`, `LambdaBiConsumerBolt`, `LambdaConsumerBolt`, `LambdaSpout`, `LoadBolt`, `LoadSpout`, `LogInfoBolt`, `LookupWordCount.PrintWordTotalCountBolt`, `ManualDRPC.ExclamationBolt`, `MasterBatchCoordinator`, `MultipleLoggerTopology.ExclamationLoggingBolt`, `MultiThreadWordCountTopology.MultiThreadedSplitSentence`, `PersistentWindowedBoltExecutor`, `PrepareBatchBolt`, `PrepareRequest`, `PrinterBolt`, `PythonShellMetricsBolt`, `PythonShellMetricsSpout`, `RandomIntegerSpout`, `RandomSentenceSpout`, `RandomSentenceSpout.TimeStamped`, `ReachTopology.CountAggregator`, `ReachTopology.GetFollowers`, `ReachTopology.GetTweeters`, `ReachTopology.PartialUniquer`, `RedisFilterBolt`, `RedisLookupBolt`, `RedisStoreBolt`, `ResourceAwareExampleTopology.ExclamationBolt`, `ReturnResults`, `RichShellBolt`, `RichShellSpout`, `RichSpoutBatchTriggerer`, `RollingCountAggBolt`, `RollingCountBolt`, `SequenceFileBolt`, `SequenceFileTopology.MyBolt`, `SequenceFileTopology.SentenceSpout`, `SingleJoinBolt`, `SlidingWindowSumBolt`, `SocketBolt`, `SocketSpout`, `SplitSentenceBolt`, `SpoutTracker`, `StatefulBoltExecutor`, `StatefulTopology.PrinterBolt`, `StatefulWindowedBoltExecutor`, `StatefulWordCounter`, `StringGenSpout`, `SubtopologyBolt`, `TestAggregatesCounter`, `TestConfBolt`, `TestEventLogSpout`, `TestEventOrderCheckBolt`, `TestGlobalCount`, `TestPlannerBolt`, `TestPlannerSpout`, `TestPrintBolt`, `TestWindowBolt`, `TestWordBytesCounter`, `TestWordCounter`, `TestWordSpout`, `ThroughputVsLatency.FastRandomSentenceSpout`, `ThroughputVsLatency.SplitSentence`, `ThroughputVsLatency.WordCount`, `TimeDataIncrementingSpout`, `TimeDataVerificationBolt`, `TotalRankingsBolt`, `TridentBoltExecutor`, `TridentSpoutCoordinator`, `TridentSpoutExecutor`, `TupleCaptureBolt`, `UserSpout`, `VerificationBolt`, `WhitelistWordCount.PrintWordTotalCountBolt`, `WindowedBoltExecutor`, `WordCountBolt`, `WordCounter`, `WordCounter`, `WordCountTopology.SplitSentence`, `WordCountTopologyNode.RandomSentence`, `WordCountTopologyNode.SplitSentence`, `WordCountTopologyNode.WordCount`, `WordGenSpout`, `WordSpout`

public interface IComponent extends Serializable
Common methods for all possible components in a topology. This interface is used when defining topologies using the Java API.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `declareOutputFields(OutputFieldsDeclarer declarer)`
  Declare the output schema for all the streams of this topology.
  `Map<String,Object>`
  `getComponentConfiguration()`
  Declare configuration specific to this component.

- ## Method Details

  - ### declareOutputFields

    void declareOutputFields(OutputFieldsDeclarer declarer)
    Declare the output schema for all the streams of this topology.
    Parameters:
      `declarer` - this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream

  - ### getComponentConfiguration

    Map<String,Object> getComponentConfiguration()
    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`