edu.csus.ecs.pc2.api.listener

## Interface IConfigurationUpdateListener

-     public interface IConfigurationUpdateListener

  This interface defines the set of methods that any Contest Configuration Update Listener must implement.

  These methods are invoked whenever any new contest configuration item (such as a problem or language) is added to the contest, or whenever an existing configuration item is modified or removed from the contest. A client utilizing the PC2 API can implement this interface and add itself to the contest as a Listener, and therefore arrange to be notified when any change is made to the contest configuration.

  Each method receives a parameter of type `ContestEvent` which provides detailed information about the type of change which occurred. Listeners implementing this interface can examine the contents of the specified `ContestEvent` to determine what kind of configuration item was added or changed, and what kind(s) of change(s) occurred.

  This documentation describes the current draft of the PC2 API, which is subject to change.

  Version:
    $Id: IConfigurationUpdateListener.java 1269 2008-02-07 10:27:13Z clevengr $
  Author:
    pc2@ecs.csus.edu

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `configurationItemAdded(ContestEvent contestEvent)` Invoked when a new contest configuration item has been added to the contest.
    `void` | `configurationItemRemoved(ContestEvent contestEvent)` Invoked when an existing contest configuration item has been removed from the contest configuration.
    `void` | `configurationItemUpdated(ContestEvent contestEvent)` Invoked when an existing contest configuration item has been updated (modified in some way).

- - ### Method Detail

    - #### configurationItemAdded

          void configurationItemAdded(ContestEvent contestEvent)

      Invoked when a new contest configuration item has been added to the contest. For example, the Contest Administrator may have added a Client Account, a new Language, a new Problem, etc.
      Parameters:
        `contestEvent` - A `ContestEvent` object giving details about the configuration item that has been added to the contest.
      See Also:
        `ContestEvent`

    - #### configurationItemUpdated

          void configurationItemUpdated(ContestEvent contestEvent)

      Invoked when an existing contest configuration item has been updated (modified in some way). For example, the Contest Administrator may have modified the parameters of a Client Account, the name of a contest Language or Problem, etc.
      Parameters:
        `contestEvent` - A `ContestEvent` object giving details about the configuration item that has been modified.
      See Also:
        `ContestEvent`

    - #### configurationItemRemoved

          void configurationItemRemoved(ContestEvent contestEvent)

      Invoked when an existing contest configuration item has been removed from the contest configuration. For example, the Contest Administrator may have deleted a Client Account, a contest Language or Problem, etc.
      Parameters:
        `contestEvent` - A `ContestEvent` object giving details about the configuration item that has been removed from the contest.
      See Also:
        `ContestEvent`