package org.freeplane.plugin.workspace.io;
import java.io.IOException;
import org.freeplane.plugin.workspace.model.project.AWorkspaceProject;
public interface IProjectSettingsIOHandler {
public enum LOAD_RETURN_TYPE {
/**
* a new project was created and loaded
*/
NEW_PROJECT,
/**
* an existing project was loaded
*/
EXISTING_PROJECT,
/**
* compatible mode return_type: if an old project version was converted into a newer version
*/
CONVERTED_PROJECT
}
/**
* This method will load an existing project or try to create a new project with the given settings.
*
* @param project container with settings necessary to load or create a project
* @return {@link LOAD_RETURN_TYPE} if the an existing project was loaded, or if a new project was created
* @throws IOException
*/
public LOAD_RETURN_TYPE loadProject(AWorkspaceProject project) throws IOException;
/**
* This method will try to save the given project settings.
*
* @param project
* @throws IOException
*/
public void storeProject(AWorkspaceProject project) throws IOException;
}