1 /******************************************************************************* 2 * Copyright (c) 2006, 2007 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.debug.internal.ui.viewers.model.provisional; 12 13 /** 14 * Used to save and restore viewer selection/expansion state. A memento 15 * provider adapter should be available from a viewer input element 16 * in order to support viewer state save/restore. 17 * 18 * @since 3.3 19 */ 20 public interface IElementMementoProvider { 21 22 /** 23 * Creates and stores a mementos for the elements specified in the requests. 24 * A request should be cancelled if a memento is not supported for the 25 * specified element or context. 26 * 27 * @param requests specifies elements and provides memento stores 28 */ 29 public void encodeElements(IElementMementoRequest[] requests); 30 31 /** 32 * Determines whether mementos represent associated elements specified in the requests. 33 * 34 * @param requests specifies each element and previously created memento 35 */ 36 public void compareElements(IElementCompareRequest[] requests); 37 38 } 39