Package org.eclipse.core.resources.team

# Class FileModificationValidator

java.lang.Object
org.eclipse.core.resources.team.FileModificationValidator

All Implemented Interfaces:
  `IFileModificationValidator`

public abstract class FileModificationValidator extends Object implements IFileModificationValidator
The file modification validator is a Team-related hook for pre-checking operations that modify the contents of files.

This class 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 or by repository providers whose validator get invoked by Team.

Since:
  3.3

## Constructor Summary

Constructors
Constructor
Description
`FileModificationValidator()`

## Method Summary

Modifier and Type
Method
Description
`final IStatus`
`validateEdit(IFile[] files, Object context)`
Deprecated.
this method is part of the deprecated `IFileModificationValidator` interface.
`abstract IStatus`
`validateEdit(IFile[] files, FileModificationValidationContext context)`
Validates that the given files can be modified.
`IStatus`
`validateSave(IFile file)`
Validates that the given file can be saved.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### FileModificationValidator

public FileModificationValidator()

## Method Details

### validateEdit

@Deprecated public final IStatus validateEdit(IFile[] files, Object context)
Deprecated.
this method is part of the deprecated `IFileModificationValidator` interface. Clients should call `validateEdit(IFile[], FileModificationValidationContext)` instead.
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.

Specified by:
  `validateEdit` in interface `IFileModificationValidator`
Parameters:
  `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)
Returns:
  a status object that is OK if things are fine, otherwise a status describing reasons why modifying the given files is not reasonable
See Also:
  - `IWorkspace.validateEdit(IFile[], Object)`

### validateSave

public IStatus validateSave(IFile file)
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.

Specified by:
  `validateSave` in interface `IFileModificationValidator`
Parameters:
  `file` - the file that is to be modified; this file must exist in the workspace
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.
See Also:
  - `IFile.setContents(java.io.InputStream, int, org.eclipse.core.runtime.IProgressMonitor)`
  - `IFile.appendContents(java.io.InputStream, int, org.eclipse.core.runtime.IProgressMonitor)`

### validateEdit

public abstract IStatus validateEdit(IFile[] files, FileModificationValidationContext context)
Validates that the given files can be modified. The files must all exist in the workspace. The optional context 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.

Parameters:
  `files` - the files that are to be modified; these files must all exist in the workspace
  `context` - the context to aid in UI-based validation or `null` if the validation must be headless
Returns:
  a status object that is OK if things are fine, otherwise a status describing reasons why modifying the given files is not reasonable
See Also:
  - `IWorkspace.validateEdit(IFile[], Object)`