/*
 * Licensed Materials - Property of Rogue Wave Software, Inc. 
 * © Copyright Rogue Wave Software, Inc. 2014, 2015 
 * © Copyright IBM Corp. 2009, 2014
 * © Copyright ILOG 1996, 2009
 * All Rights Reserved.
 *
 * Note to U.S. Government Users Restricted Rights:
 * The Software and Documentation were developed at private expense and
 * are "Commercial Items" as that term is defined at 48 CFR 2.101,
 * consisting of "Commercial Computer Software" and
 * "Commercial Computer Software Documentation", as such terms are
 * used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
 * as applicable.
 */

package monitoring.web;

import monitoring.web.action.EquipmentActionProvider;
import monitoring.web.action.NetworkActionProvider;
import monitoring.web.action.SharedActionProvider;
import monitoring.web.action.TableActionProvider;
import monitoring.web.action.TreeActionProvider;

/**
 * Abstraction that holds references to all action providers used by the sample. 
 */
public class SampleActionProviders {

  //Action providers
  private NetworkActionProvider networkActions;
  private EquipmentActionProvider equipmentActions;
  private TableActionProvider tableActions;
  private TreeActionProvider treeActions;
  private SharedActionProvider sharedActions;

  /**
   * Creates all the action providers. 
   */
  public SampleActionProviders() {
    treeActions = new TreeActionProvider();
    sharedActions = new SharedActionProvider();
    networkActions = new NetworkActionProvider();
    tableActions = new TableActionProvider();
    equipmentActions = new EquipmentActionProvider();
  }

  //////////////////////////////////////////////////////////////////////////////
  //Initialization
  //////////////////////////////////////////////////////////////////////////////

  /**
   * Initializes all action providers.
   */
  public void initialize(AbstractSampleContext sampleContext) {
    treeActions.initialize(sampleContext);
    sharedActions.initialize(sampleContext);
    networkActions.initialize(sampleContext);
    tableActions.initialize(sampleContext);
    equipmentActions.initialize(sampleContext);
  }

  //////////////////////////////////////////////////////////////////////////////
  //Accessors and Modifiers
  //////////////////////////////////////////////////////////////////////////////

  public EquipmentActionProvider getEquipmentActions() {
    return equipmentActions;
  }
  public void setEquipmentActions(EquipmentActionProvider equipmentActions) {
    this.equipmentActions = equipmentActions;
  }
  public NetworkActionProvider getNetworkActions() {
    return networkActions;
  }
  public void setNetworkActions(NetworkActionProvider networkActions) {
    this.networkActions = networkActions;
  }
  public TableActionProvider getTableActions() {
    return tableActions;
  }
  public void setTableActions(TableActionProvider tableActions) {
    this.tableActions = tableActions;
  }
  public TreeActionProvider getTreeActions() {
    return treeActions;
  }
  public void setTreeActions(TreeActionProvider treeActions) {
    this.treeActions = treeActions;
  }
  public SharedActionProvider getSharedActions() {
    return sharedActions;
  }
  public void setSharedActions(SharedActionProvider sharedActions) {
    this.sharedActions = sharedActions;
  }
}