Copyright (c) 2000, 2014 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2014 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.core.resources; import org.eclipse.core.resources.team.FileModificationValidator; import org.eclipse.core.runtime.IStatus;
The file modification validator is a Team-related hook for pre-checking operations that modify the contents of files.

This interface is used only in conjunction with the "org.eclipse.core.resources.fileModificationValidator" extension point. It is intended to be implemented only by the Eclipse Platform Team plug-in.

Since:2.0
Deprecated:clients should subclass FileModificationValidator instead of implementing this interface
/** * The file modification validator is a Team-related hook for pre-checking operations * that modify the contents of files. * <p> * This interface is used only in conjunction with the * "org.eclipse.core.resources.fileModificationValidator" * extension point. It is intended to be implemented only * by the Eclipse Platform Team plug-in. * </p> * * @since 2.0 * @deprecated clients should subclass {@link FileModificationValidator} instead * of implementing this interface */
@Deprecated public interface IFileModificationValidator {
Validates that the given files can be modified. The files must all exist in the workspace. The optional context object may be supplied if UI-based validation is required. If the context is null, the validator must attempt to perform the validation in a headless manner. The returned status is IStatus.OK if this validator believes the given file can be modified. Other return statuses indicate the reason why the individual files cannot be modified.
Params:
  • files – the files that are to be modified; these files must all exist in the workspace
  • context – the org.eclipse.swt.widgets.Shell that is to be used to parent any dialogs with the user, or null if there is no UI context (declared as an Object to avoid any direct references on the SWT component)
See Also:
Returns:a status object that is OK if things are fine, otherwise a status describing reasons why modifying the given files is not reasonable
/** * Validates that the given files can be modified. The files must all exist * in the workspace. The optional context object may be supplied if * UI-based validation is required. If the context is <code>null</code>, the * validator must attempt to perform the validation in a headless manner. * The returned status is <code>IStatus.OK</code> if this validator * believes the given file can be modified. Other return statuses indicate * the reason why the individual files cannot be modified. * * @param files the files that are to be modified; these files must all exist in the workspace * @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 that is OK if things are fine, otherwise a status describing * reasons why modifying the given files is not reasonable * @see IWorkspace#validateEdit(IFile[], Object) */
IStatus validateEdit(IFile[] files, Object context);
Validates that the given file can be saved. This method is called from IFile#setContents and IFile#appendContents before any attempt to write data to disk. The returned status is IStatus.OK if this validator believes the given file can be successfully saved. In all other cases the return value is a non-OK status. Note that a return value of IStatus.OK does not guarantee that the save will succeed.
Params:
  • file – the file that is to be modified; this file must exist in the workspace
See Also:
Returns:a status indicating whether or not it is reasonable to try writing to the given file; IStatus.OK indicates a save should be attempted.
/** * Validates that the given file can be saved. This method is called from * <code>IFile#setContents</code> and <code>IFile#appendContents</code> * before any attempt to write data to disk. The returned status is * <code>IStatus.OK</code> if this validator believes the given file can be * successfully saved. In all other cases the return value is a non-OK status. * Note that a return value of <code>IStatus.OK</code> does not guarantee * that the save will succeed. * * @param file the file that is to be modified; this file must exist in the workspace * @return a status indicating whether or not it is reasonable to try writing to the given file; * <code>IStatus.OK</code> indicates a save should be attempted. * * @see IFile#setContents(java.io.InputStream, int, org.eclipse.core.runtime.IProgressMonitor) * @see IFile#appendContents(java.io.InputStream, int, org.eclipse.core.runtime.IProgressMonitor) */
IStatus validateSave(IFile file); }