package data;

import java.util.*;

import data.events.*;

/**
  * A Catalog that fires events to inform about changes to its contents.
  *
  * @author Steffen Zschaler
  * @version 2.0 18/08/1999
  * @since v2.0
  */
public interface ListenableCatalog extends Catalog {

  /**
    * Add a listener that will be informed about changes to the Catalog's contents.
    *
    * @override Always
    *
    * @param ccl the listener to be added.
    */
  public void addCatalogChangeListener (CatalogChangeListener ccl);

  /**
    * Remove a listener that was informed about changes to the Catalog's contents.
    *
    * @override Always
    *
    * @param ccl the listener to be removed.
    */
  public void removeCatalogChangeListener (CatalogChangeListener ccl);
}