Copyright (c) 2000, 2009 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, 2009 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.runtime.IPath;
A data structure returned by IWorkspace.addSaveParticipant(Plugin, ISaveParticipant)
containing a save number and an optional resource delta. See Also: @noimplement This interface is not intended to be implemented by clients. @noextend This interface is not intended to be extended by clients.
/**
* A data structure returned by {@link IWorkspace#addSaveParticipant(org.eclipse.core.runtime.Plugin, ISaveParticipant)}
* containing a save number and an optional resource delta.
*
* @see IWorkspace#addSaveParticipant(org.eclipse.core.runtime.Plugin, ISaveParticipant)
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISavedState {
Returns the files mapped with the ISaveContext.map(IPath, IPath)
facility. Returns an empty array if there are no mapped files. See Also: Returns: the files currently mapped by the participant
/**
* Returns the files mapped with the {@link ISaveContext#map(IPath, IPath)}
* facility. Returns an empty array if there are no mapped files.
*
* @return the files currently mapped by the participant
*
* @see #lookup(IPath)
* @see ISaveContext#map(IPath, IPath)
*/
IPath[] getFiles();
Returns the save number for the save participant.
This is the save number of the last successful save in which the plug-in
actively participated, or 0
if the plug-in has
never actively participated in a successful save.
Returns: the save number
/**
* Returns the save number for the save participant.
* This is the save number of the last successful save in which the plug-in
* <b>actively</b> participated, or <code>0</code> if the plug-in has
* never actively participated in a successful save.
*
* @return the save number
*/
int getSaveNumber();
Returns the mapped location associated with the given path
or null
if none.
See Also: Returns: the mapped location of a given path
/**
* Returns the mapped location associated with the given path
* or <code>null</code> if none.
*
* @return the mapped location of a given path
* @see #getFiles()
* @see ISaveContext#map(IPath, IPath)
*/
IPath lookup(IPath file);
Used to receive notification of changes that might have happened
while this plug-in was not active. The listener receives notifications of changes to
the workspace resource tree since the time this state was saved. After this
method is run, the delta is forgotten. Subsequent calls to this method
will have no effect.
No notification is received in the following cases:
- if a saved state was never recorded (
ISaveContext.needDelta()
was not called)
- a saved state has since been forgotten (using
IWorkspace.forgetSavedTree(String)
)
- a saved state has been deemed too old or has become invalid
All clients should have a contingency plan in place in case
a changes are not available (the case should be very similar
to the first time a plug-in is activated, and only has the
current state of the workspace to work from).
The supplied event is of type IResourceChangeEvent.POST_BUILD
and contains the delta detailing changes since this plug-in last participated in a save. This event object (and the resource delta within it) is valid only for the duration of the invocation of this method.
Params: - listener – the listener
See Also:
/**
* Used to receive notification of changes that might have happened
* while this plug-in was not active. The listener receives notifications of changes to
* the workspace resource tree since the time this state was saved. After this
* method is run, the delta is forgotten. Subsequent calls to this method
* will have no effect.
* <p>
* No notification is received in the following cases:</p>
* <ul>
* <li>if a saved state was never recorded ({@link ISaveContext#needDelta()}
* was not called) </li>
* <li>a saved state has since been forgotten (using {@link IWorkspace#forgetSavedTree(String)}) </li>
* <li>a saved state has been deemed too old or has become invalid</li>
* </ul>
* <p>
* All clients should have a contingency plan in place in case
* a changes are not available (the case should be very similar
* to the first time a plug-in is activated, and only has the
* current state of the workspace to work from).
* </p>
* <p>
* The supplied event is of type {@link IResourceChangeEvent#POST_BUILD}
* and contains the delta detailing changes since this plug-in last participated
* in a save. This event object (and the resource delta within it) is valid only
* for the duration of the invocation of this method.
* </p>
*
* @param listener the listener
* @see ISaveContext#needDelta()
* @see IResourceChangeListener
*/
void processResourceChangeEvents(IResourceChangeListener listener);
}