blob: b32573c31f315474645c26c9ffa8e781376a1140 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// 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:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.services;
import java.io.File;
import org.eclipse.core.runtime.IStatus;
/**
* The interface for a File Manager.
* <p>
* A File Manager is responsible for managing the XMI files associated with the
* method elements.
*
* @author Phong Nguyen Le
* @since 1.0
*/
public interface IFileManager {
/**
* Checks whether the given method element path can be modified.
*
* @param path
* an absolute path to a method element
* @param context
* the <code>org.eclipse.swt.widgets.Shell</code> that is to be
* used to parent any dialogs with the user, or <code>null</code>
* if there is no UI context (declared as an <code>Object</code>
* to avoid any direct references on the SWT component)
* @return a status object
*/
public IStatus checkModify(String path, Object context);
/**
* Checks whether the given method element path can be modified.
*
* @param paths
* an array of path fragments that point to a method element
* @param context
* the <code>org.eclipse.swt.widgets.Shell</code> that is to be
* used to parent any dialogs with the user, or <code>null</code>
* if there is no UI context (declared as an <code>Object</code>
* to avoid any direct references on the SWT component)
* @return a status object
*/
public IStatus checkModify(String[] paths, Object context);
/**
* Deletes the given method element path.
*
* @param path
* an absolute path to a method element
* @return <code>true</code> if the deletion is successful
*/
public boolean delete(String path);
/**
* Renames the path of a method element.
*
* @param oldFile
* a <code>File</code> object that contains a method element's
* old path
* @param newFile
* a <code>File</code> object that contains a method element's
* new path
* @return <code>true</code> if the renaming is successful
*/
public boolean rename(File oldFile, File newFile);
/**
* Moves a method element to a new location.
*
* @param oldPath
* a method element's old path
* @param newName
* a method element's new path
* @return <code>true</code> if the move is successful
*/
public boolean move(String oldPath, String newPath);
}