/* * Copyright (c) 2012 Diamond Light Source Ltd. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package uk.ac.diamond.scisoft.analysis.plotserver; import java.io.Serializable; /** * The <code>IBeanScriptingManager</code> interface provides protocol * for saving and restoring GUI state typically between a client and multiple * subscribers. * */ public interface IBeanScriptingManager { /** * This method allows for interested parties to get relevant GUI information * from the client * * @return The data which specifies the gui state */ public GuiBean getGUIInfo(); /** * This method allows interested parties to push relevant GUI information to the * client. Information can later be retrieved using <code>getGuiState</code> * * @param key key with which the specified value is to be associated * @param value value to be associated with the specified key */ public void putGUIInfo(GuiParameters key, Serializable value); /** * This method allows interested parties to remove GUI information from the client * * @param key key with which the specified value is to be associated */ public void removeGUIInfo(GuiParameters key); /** * Push latest information back to plot server */ public void sendGUIInfo(GuiBean guiBean); }