Copyright (c) 2000, 2005 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, 2005 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.filebuffers; import org.eclipse.core.runtime.IStatus;
Implementers of IFileBuffer may also implement IStateValidationSupport in order to allow a IFileBufferManager to batch the stages of state validation when calling IFileBufferManager.validateState(IFileBuffer[], IProgressMonitor, Object).
See Also:
Since:3.1
/** * 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)}. * * @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 IFileBufferListener.stateChanging(IFileBuffer) notification in response.
/** * 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, IFileBuffer.isStateValidated() will return the given value. Also IFileBuffer.getStatus() will returns the provided status. File buffer listeners will receive a IFileBufferListener.stateValidationChanged(IFileBuffer, boolean) notification.
Params:
  • validationState – true if validated, false otherwise
  • status – the status of the executed validate state operation
/** * 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 IFileBufferListener.stateChangeFailed(IFileBuffer) notification in response.
/** * Tells this buffer that a initiated state validation failed. File buffer * listeners will receive a * {@link IFileBufferListener#stateChangeFailed(IFileBuffer)} notification * in response. */
void validationStateChangeFailed(); }