| /******************************************************************************* |
| * Copyright (c) 2000, 2004 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Common Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.core.filebuffers; |
| |
| import org.eclipse.core.runtime.IStatus; |
| |
| /** |
| * Implementers of {@link org.eclipse.core.filebuffers.IFileBuffer}may also |
| * implement <code>IStateValidationSupport</code> in order to allow a |
| * {@link org.eclipse.core.filebuffers.IFileBufferManager} to batch the stages |
| * of state validation when calling |
| * {@link org.eclipse.core.filebuffers.IFileBufferManager#validateState(IFileBuffer[], org.eclipse.core.runtime.IProgressMonitor, Object)}. |
| * <p> |
| * Not yet for public use. API under construction. |
| * |
| * @see org.eclipse.core.filebuffers.IFileBuffer |
| * @since 3.1 |
| */ |
| public interface IStateValidationSupport { |
| |
| /** |
| * Tells this buffer that the validation state is about to be changed. File |
| * buffer listeners will receive a |
| * {@link IFileBufferListener#stateChanging(IFileBuffer)} notification in |
| * response. |
| */ |
| void validationStateAboutToBeChanged(); |
| |
| /** |
| * Tells this buffer that the validation state has been changed to the given |
| * value. After that call, {@link IFileBuffer#isStateValidated()} will |
| * return the given value. Also {@link IFileBuffer#getStatus()} will returns |
| * the provided status. File buffer listeners will receive a |
| * {@link IFileBufferListener#stateValidationChanged(IFileBuffer, boolean)} |
| * notification. |
| * |
| * @param validationState <code>true</code> if validated, |
| * <code>false</code> otherwise |
| * @param status the status of the executed validate state operation |
| */ |
| void validationStateChanged(boolean validationState, IStatus status); |
| |
| /** |
| * Tells this buffer that a initiated state validation failed. File buffer |
| * listeners will receive a |
| * {@link IFileBufferListener#stateChangeFailed(IFileBuffer)} notification |
| * in response. |
| */ |
| void validationStateChangeFailed(); |
| } |