org.eclipse.core.filebuffers
Interface IFileBufferManager
-
All Known Subinterfaces:
-
ITextFileBufferManager
-
public interface IFileBufferManager
A file buffer manager manages file buffers for files while the files are
connected to the file buffer manager. In order to connect a file to a file
buffer manager call connect
. After that call has
successfully completed the file buffer can be obtained by getFileBuffer
.
The file buffer is created on the first connect and disposed on the last
disconnect. I.e. the file buffer manager keeps track of how often a file is
connected and returns the same file buffer to each client as long as the
file is connected.
Clients are not supposed to implement that interface.
-
Since:
- 3.0
-
Restriction:
- This interface is not intended to be implemented by clients.
-
Restriction:
- This interface is not intended to be extended by clients.
Method Summary
|
void
|
addFileBufferListener
(
IFileBufferListener listener)
Adds the given listener to the list of file buffer listeners. |
void
|
connect
(
IPath location,
IProgressMonitor monitor)
Deprecated. As of 3.3, replaced by
connect(IPath, LocationKind, IProgressMonitor)
|
void
|
connect
(
IPath location,
LocationKind locationKind,
IProgressMonitor monitor)
Connects the file at the given location to this manager. |
void
|
connectFileStore
(
IFileStore fileStore,
IProgressMonitor monitor)
Connects the given file store to this manager. |
void
|
disconnect
(
IPath location,
IProgressMonitor monitor)
Deprecated. As of 3.3, replaced by
disconnect(IPath, LocationKind, IProgressMonitor)
|
void
|
disconnect
(
IPath location,
LocationKind locationKind,
IProgressMonitor monitor)
Disconnects the file at the given location from this manager. |
void
|
disconnectFileStore
(
IFileStore fileStore,
IProgressMonitor monitor)
Disconnects the given file store from this manager. |
void
|
execute
(
Runnable runnable)
Executes the given runnable in the synchronization context of this file buffer manager. |
IFileBuffer
|
getFileBuffer
(
IPath location)
Deprecated. As of 3.3, replaced by
getFileBuffer(IPath, LocationKind)
|
IFileBuffer
|
getFileBuffer
(
IPath location,
LocationKind locationKind)
Returns the file buffer managed for the given location or null
if there is no such file buffer. |
IFileBuffer[]
|
getFileBuffers
()
Returns all managed file buffers that are currently connected. |
IFileBuffer
|
getFileStoreFileBuffer
(
IFileStore fileStore)
Returns the file buffer managed for the given file store or
null if there is no such file buffer. |
IFileBuffer[]
|
getFileStoreFileBuffers
()
Returns all managed file store file buffers that are currently connected. |
void
|
releaseSynchronizationContext
(
IPath location)
Deprecated. As of 3.1, replaced by
IFileBuffer.releaseSynchronizationContext()
|
void
|
removeFileBufferListener
(
IFileBufferListener listener)
Removes the given listener from the list of file buffer listeners. |
void
|
requestSynchronizationContext
(
IPath location)
Deprecated. As of 3.1, replaced by
IFileBuffer.requestSynchronizationContext()
|
void
|
setSynchronizationContext
(
ISynchronizationContext context)
Sets the synchronization context for this file buffer manager, i.e., for
all file buffers this manager manages. |
void
|
validateState
(
IFileBuffer[] fileBuffers,
IProgressMonitor monitor,
Object computationContext)
Validates the state of the given file buffers and tries to bring the
buffer's underlying file into a state in which it can be modified. |
connect
void connect(
IPath location,
IProgressMonitor monitor)
throws
CoreException
-
Deprecated. As of 3.3, replaced by
connect(IPath, LocationKind, IProgressMonitor)
- Connects the file at the given location to this manager. After that call
successfully completed it is guaranteed that each call to
getFileBuffer
returns the same file buffer until disconnect
is called.
The provided location is either a full path of a workspace resource or
an absolute path in the local file system. The file buffer manager does
not resolve the location of workspace resources in the case of linked
resources.
-
-
Parameters:
-
location
- the location of the file to be connected -
monitor
- the progress monitor, or null
if progress reporting is not desired
-
Throws:
-
CoreException
- if the file could not successfully be connected
connect
void connect(
IPath location,
LocationKind locationKind,
IProgressMonitor monitor)
throws
CoreException
- Connects the file at the given location to this manager. After that call
successfully completed it is guaranteed that each call to
getFileBuffer
returns the same file buffer until disconnect
is called.
The type of the provided location is specified by the given
locationKind
.
-
-
Parameters:
-
location
- the location of the file to be connected -
locationKind
- the kind of the given location -
monitor
- the progress monitor, or null
if progress reporting is not desired
-
Throws:
-
CoreException
- if the file could not successfully be connected -
Since:
- 3.3
-
See Also:
-
LocationKind
connectFileStore
void connectFileStore(
IFileStore fileStore,
IProgressMonitor monitor)
throws
CoreException
- Connects the given file store to this manager. After that call
successfully completed it is guaranteed that each call to
getFileBuffer
returns the same file buffer until disconnect
is called.
Note: This API must not be used if the given file
store maps to a resource contained in the workspace. A file buffer
that has been connected using a path will not be found.
We had to use a different name than connect
for this method
due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=148844
-
-
Parameters:
-
fileStore
- the file store to be connected -
monitor
- the progress monitor, or null
if progress reporting is not desired
-
Throws:
-
CoreException
- if the file could not successfully be connected -
Since:
- 3.3
disconnect
void disconnect(
IPath location,
IProgressMonitor monitor)
throws
CoreException
-
Deprecated. As of 3.3, replaced by
disconnect(IPath, LocationKind, IProgressMonitor)
- Disconnects the file at the given location from this manager. After that
call successfully completed there is no guarantee that
getFileBuffer
will return a valid file buffer.
The provided location is either a full path of a workspace resource or
an absolute path in the local file system. The file buffer manager does
not resolve the location of workspace resources in the case of linked
resources.
-
-
Parameters:
-
location
- the location of the file to be disconnected -
monitor
- the progress monitor, or null
if progress reporting is not desired
-
Throws:
-
CoreException
- if the file could not successfully be disconnected
disconnect
void disconnect(
IPath location,
LocationKind locationKind,
IProgressMonitor monitor)
throws
CoreException
- Disconnects the file at the given location from this manager. After that
call successfully completed there is no guarantee that
getFileBuffer
will return a valid file buffer.
The type of the provided location is specified by the given
locationKind
.
-
-
Parameters:
-
location
- the location of the file to be disconnected -
locationKind
- the kind of the given location -
monitor
- the progress monitor, or null
if progress reporting is not desired
-
Throws:
-
CoreException
- if the file could not successfully be disconnected -
Since:
- 3.3
-
See Also:
-
LocationKind
disconnectFileStore
void disconnectFileStore(
IFileStore fileStore,
IProgressMonitor monitor)
throws
CoreException
- Disconnects the given file store from this manager. After that
call successfully completed there is no guarantee that
getFileBuffer
will return a valid file buffer.
Note: This API must not be used if the given file
store maps to a resource contained in the workspace. A file buffer
that has been connected using a path will not be found.
We had to use a different name than disconnect
for this method
due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=148844
-
-
Parameters:
-
fileStore
- the file store to be disconnected -
monitor
- the progress monitor, or null
if progress reporting is not desired
-
Throws:
-
CoreException
- if the file could not successfully be disconnected -
Since:
- 3.3
getFileBuffer
IFileBuffer getFileBuffer(
IPath location)
-
Deprecated. As of 3.3, replaced by
getFileBuffer(IPath, LocationKind)
- Returns the file buffer managed for the given location or
null
if there is no such file buffer.
The provided location is either a full path of a workspace resource or
an absolute path in the local file system. The file buffer manager does
not resolve the location of workspace resources in the case of linked
resources.
-
-
Parameters:
-
location
- the location
-
Returns:
- the file buffer managed for that location or
null
getFileBuffer
IFileBuffer getFileBuffer(
IPath location,
LocationKind locationKind)
- Returns the file buffer managed for the given location or
null
if there is no such file buffer.
The type of the provided location is specified by the given
locationKind
.
-
-
Parameters:
-
location
- the location -
locationKind
- the kind of the given location
-
Returns:
- the file buffer managed for that location or
null
-
Since:
- 3.3
-
See Also:
-
LocationKind
getFileStoreFileBuffer
IFileBuffer getFileStoreFileBuffer(
IFileStore fileStore)
- Returns the file buffer managed for the given file store or
null
if there is no such file buffer.
Note: This API must not be used if the given file
store maps to a resource contained in the workspace. A file buffer
that has been connected using a path will not be found.
We had to use a different name than getFileBuffer
for this method
due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=148844
-
-
Parameters:
-
fileStore
- the file store
-
Returns:
- the file buffer managed for that file store or
null
-
Since:
- 3.3
getFileBuffers
IFileBuffer[] getFileBuffers()
- Returns all managed file buffers that are currently connected.
Note: It is the clients responsibility to handle
disconnected file buffers as buffers can be disconnected after calling
this method.
-
-
Returns:
- the file buffers managed by this file buffer manager
-
Since:
- 3.4
-
See Also:
-
getFileStoreFileBuffers()
getFileStoreFileBuffers
IFileBuffer[] getFileStoreFileBuffers()
- Returns all managed file store file buffers that are currently connected.
Note: It is the clients responsibility to handle
disconnected file buffers as buffers can be disconnected after calling
this method.
-
-
Returns:
- the file buffers managed by this file buffer manager
-
Since:
- 3.4
-
See Also:
-
getFileBuffers()
setSynchronizationContext
void setSynchronizationContext(
ISynchronizationContext context)
- Sets the synchronization context for this file buffer manager, i.e., for
all file buffers this manager manages.
-
-
Parameters:
-
context
- the synchronization context managed by this file buffer manager
execute
void execute(
Runnable runnable)
- Executes the given runnable in the synchronization context of this file buffer manager.
If there is no synchronization context connected with this manager, the runnable is
directly executed.
-
-
Parameters:
-
runnable
- the runnable to be executed -
Since:
- 3.5
requestSynchronizationContext
void requestSynchronizationContext(
IPath location)
-
Deprecated. As of 3.1, replaced by
IFileBuffer.requestSynchronizationContext()
- The caller requests that the synchronization context is used to
synchronize the given location with its file buffer. This call as no
effect if there is no file buffer managed for the given location.
The provided location is either a full path of a workspace resource or an
absolute path in the local file system. The file buffer manager does not
resolve the location of workspace resources in the case of linked
resources.
-
-
Parameters:
-
location
- the location
releaseSynchronizationContext
void releaseSynchronizationContext(
IPath location)
-
Deprecated. As of 3.1, replaced by
IFileBuffer.releaseSynchronizationContext()
- The caller no longer requests the synchronization context for the file
buffer managed for the given location. This method has no effect if there
is no file buffer managed for this location.
The provided location is either a full path of a workspace resource or an
absolute path in the local file system. The file buffer manager does not
resolve the location of workspace resources in the case of linked
resources.
-
-
Parameters:
-
location
- the location
addFileBufferListener
void addFileBufferListener(
IFileBufferListener listener)
- Adds the given listener to the list of file buffer listeners. After that
call the listener is informed about changes related to this file
buffer manager. If the listener is already registered with the file buffer, this
call has no effect.
-
-
Parameters:
-
listener
- the listener to be added
removeFileBufferListener
void removeFileBufferListener(
IFileBufferListener listener)
- Removes the given listener from the list of file buffer listeners. If
the listener is not registered with this file buffer, this call has no
effect.
-
-
Parameters:
-
listener
- the listener to be removed
validateState
void validateState(
IFileBuffer[] fileBuffers,
IProgressMonitor monitor,
Object computationContext)
throws
CoreException
- Validates the state of the given file buffers and tries to bring the
buffer's underlying file into a state in which it can be modified. File
buffers which do not support state validation are left untouched.
In case of a single file buffer,
IFileBuffer.validateState(IProgressMonitor, Object)
should be used.
-
-
Parameters:
-
fileBuffers
- the file buffers to validate -
monitor
- the progress monitor, or null
if progress reporting is not desired -
computationContext
- the context in which the validation is performed, e.g., a SWT shell
-
Throws:
-
CoreException
- if the underlying file can not be accessed to it's state cannot be changed -
Since:
- 3.1
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.