blob: 35786867ef8a62c448deb39a29afcb8c01f16f06 [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* 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
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.runtime.common.memento;
import org.eclipse.osbp.runtime.common.validation.IStatus;
/**
* A memento manager is responsible to load and save mementos.
*/
public interface IMementoManager {
/** The Constant EVENT_TOPIC. */
public static final String EVENT_TOPIC = "runtime/memento";
/** The Constant PROP_PERSIST_POLICY. */
public static final String PROP_PERSIST_POLICY = "persisting.policy";
/**
* Loads the memento for the given memento id.
*
* @param userId
* the user id
* @param mementoId
* the memento id
* @return the object
*/
Object loadMemento(String userId, String mementoId);
/**
* Saves the memento by the given mementoId.
*
* @param userId
* the user id
* @param mementoId
* the memento id
* @param memento
* the memento
* @return status containing exceptions or IStatus.OK
*/
IStatus saveMemento(String userId, String mementoId, Object memento);
}