| package backtype.storm.topology; |
| |
| import java.io.Serializable; |
| import java.util.Map; |
| |
| /** |
| * Common methods for all possible components in a topology. This interface is used |
| * when defining topologies using the Java API. |
| */ |
| public interface IComponent extends Serializable { |
| |
| /** |
| * Declare the output schema for all the streams of this topology. |
| * |
| * @param declarer this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream |
| */ |
| void declareOutputFields(OutputFieldsDeclarer declarer); |
| |
| /** |
| * 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 {@link TopologyBuilder} |
| * |
| */ |
| Map<String, Object> getComponentConfiguration(); |
| |
| } |