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.CoreException; import org.eclipse.jface.text.IDocument;
Tagging interface for IAnnotationModel implementers that offer state persistence.
Since:3.0
/** * Tagging interface for {@link org.eclipse.jface.text.source.IAnnotationModel} implementers that offer * state persistence. * * @since 3.0 */
public interface IPersistableAnnotationModel {
Transforms the current transient state of the annotation model into a persistent state.
Params:
  • document – the document the annotation model is connected to
Throws:
/** * Transforms the current transient state of the annotation model into a * persistent state. * * @param document the document the annotation model is connected to * @throws CoreException in case the transformation fails */
void commit(IDocument document) throws CoreException;
Changes the current transient state of the annotation model to match the last persisted state.
Params:
  • document – the document the annotation model is connected to
Throws:
/** * Changes the current transient state of the annotation model to match the * last persisted state. * * @param document the document the annotation model is connected to * @throws CoreException in case accessing the persisted state */
void revert(IDocument document) throws CoreException;
Forces this annotation model to re-initialize from the persistent state. The persistent state must not be the same as the last persisted state. I.e. external modification may have caused changes to the persistent state since the last commit or revert operation.
Params:
  • document – the document the annotation model is connected to
Throws:
/** * Forces this annotation model to re-initialize from the persistent state. * The persistent state must not be the same as the last persisted state. * I.e. external modification may have caused changes to the persistent * state since the last <code>commit</code> or <code>revert</code> * operation. * * @param document the document the annotation model is connected to * @throws CoreException in case accessing the persistent state fails */
void reinitialize(IDocument document) throws CoreException; }