/*
 *  Copyright (c) 1998-2001, The University of Sheffield.
 *
 *  This file is part of GATE (see http://gate.ac.uk/), and is free
 *  software, licenced under the GNU Library General Public License,
 *  Version 2, June 1991 (in the distribution as file licence.html,
 *  and also available at http://gate.ac.uk/gate/licence.html).
 *
 *  Valentin Tablan 21/11/2002
 *
 *  $Id: ActionsPublisher.java,v 1.1 2002/11/22 15:25:08 valyt Exp $
 *
 */

package gate.gui;

import java.util.List;

/**
 * This interface is used to mark resources that publish a list of actions
 * that can be performed on them.
 * Those actions will automatically be added to the appropriate menus when
 * needed.
 */

public interface ActionsPublisher {
  /**
   * Returns a list of Action objects. This method will be called everytime a
   * menu for this resource needs to be built, thus allowing for dynamic updates
   * to the list of actions.
   * A <tt>null</tt> value in this list will cause a separator to be created.
   * @return
   */
  public List getActions();
}