package simizer.event;

public interface IEventProducer {

  public Channel getOutputChannel();

  public void setChannel(final Channel c);

  public void registerEvent(Event evt);

}

@@ -21,124 +21,1025 @@
 t;%0A%0A
-public interface IEventProducer %7B%0A%0A  public Channel getOutputChannel();%0A%0A  public void setChannel(final Channel c);%0A
+/**%0A * Allows events to be queued for later execution.%0A * %3Cp%3E%0A * Classes that can schedule events should be subclasses of %7B@link%0A * EventProducer%7D.  If that is not possible, it is also acceptable for classes%0A * to implement this %7B@code IEventProducer%7D interface.  In that situation, the%0A * class will likely provide a wrapper to an internal %7B@link EventProducer%7D%0A * instance.%0A * %3Cp%3E%0A * The %7B@link Simulation%7D will automatically call %7B@link%0A * #setChannel(simizer.event.Channel)%7D for classes that implement this%0A * interface.%0A */%0Apublic interface IEventProducer %7B%0A%0A  /**%0A   * Returns the %7B@code Channel%7D used by this producer.%0A   *%0A   * @return the %7B@code Channel%7D used by this producer%0A   */%0A  public Channel getOutputChannel();%0A%0A  /**%0A   * Changes the %7B@code Channel%7D used by this producer.%0A   *%0A   * @param channel the new %7B@link Channel%7D%0A   */%0A  public void setChannel(final Channel channel);%0A%0A  /**%0A   * Adds an event to the %7B@code Channel%7D for this producer.%0A   *%0A   * @param event the %7B@code Event%7D to add%0A   */
 %0A  p
@@ -1067,16 +1067,22 @@
 ent(
+final 
 Event ev
 t);%0A
@@ -1077,15 +1077,17 @@
 Event ev
+en
 t);%0A%0A%7D%0A

Add documentation to the IEventProducer interface.