|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Provides internal access to the workspace resource tree for the purposes of
implementing move and delete operation. Implementations of
IMoveDeleteHook
call these methods.
This interface is not intended to be implemented by clients.
Field Summary | |
static long |
NULL_TIMESTAMP
Constant indicating that no file timestamp was supplied. |
Method Summary | |
void |
addToLocalHistory(IFile file)
Adds the current state of the given file to the local history. |
long |
computeTimestamp(IFile file)
Computes the timestamp for the given file in the local file system. |
void |
deletedFile(IFile file)
Declares that the given file has been successfully deleted from the local file system, and requests that the corresponding deletion should now be made to the workspace resource tree. |
void |
deletedFolder(IFolder folder)
Declares that the given folder and all its descendents have been successfully deleted from the local file system, and requests that the corresponding deletion should now be made to the workspace resource tree. |
void |
deletedProject(IProject project)
Declares that the given project's content area in the local file system has been successfully dealt with in an appropriate manner, and requests that the corresponding deletion should now be made to the workspace resource tree. |
void |
failed(IStatus reason)
Declares that the operation has failed for the specified reason. |
long |
getTimestamp(IFile file)
Returns the timestamp for the given file as recorded in the workspace resource tree. |
boolean |
isSynchronized(IResource resource,
int depth)
Returns whether the given resource and its descendants to the given depth are considered to be in sync with the local file system. |
void |
movedFile(IFile source,
IFile destination)
Declares that the given source file has been successfully moved to the given destination in the local file system, and requests that the corresponding changes should now be made to the workspace resource tree. |
void |
movedFolderSubtree(IFolder source,
IFolder destination)
Declares that the given source folder and its descendents have been successfully moved to the given destination in the local file system, and requests that the corresponding changes should now be made to the workspace resource tree for the folder and all its descendents. |
boolean |
movedProjectSubtree(IProject source,
IProjectDescription description)
Declares that the given source project and its files and folders have been successfully relocated in the local file system if required, and requests that the rename and/or relocation should now be made to the workspace resource tree for the project and all its descendents. |
void |
standardDeleteFile(IFile file,
int updateFlags,
IProgressMonitor monitor)
Deletes the given file in the standard manner from both the local file system and from the workspace resource tree. |
void |
standardDeleteFolder(IFolder folder,
int updateFlags,
IProgressMonitor monitor)
Deletes the given folder and its descendents in the standard manner from both the local file system and from the workspace resource tree. |
void |
standardDeleteProject(IProject project,
int updateFlags,
IProgressMonitor monitor)
Deletes the given project and its descendents in the standard manner from both the local file system and from the workspace resource tree. |
void |
standardMoveFile(IFile source,
IFile destination,
int updateFlags,
IProgressMonitor monitor)
Moves the given file in the standard manner from both the local file system and from the workspace resource tree. |
void |
standardMoveFolder(IFolder source,
IFolder destination,
int updateFlags,
IProgressMonitor monitor)
Moves the given folder and its descendents in the standard manner from both the local file system and from the workspace resource tree. |
void |
standardMoveProject(IProject source,
IProjectDescription description,
int updateFlags,
IProgressMonitor monitor)
Renames and/or relocates the given project in the standard manner. |
void |
updateMovedFileTimestamp(IFile file,
long timestamp)
Updates the timestamp for the given file in the workspace resource tree. |
Field Detail |
public static final long NULL_TIMESTAMP
movedFile(org.eclipse.core.resources.IFile, org.eclipse.core.resources.IFile)
,
Constant Field ValuesMethod Detail |
public void addToLocalHistory(IFile file)
This method is used to capture the state of a file in the workspace local history before it is overwritten or deleted.
file
- the file to be capturedpublic boolean isSynchronized(IResource resource, int depth)
false
if the given resource does not exist in the workspace
resource tree, but exists in the local file system; and conversely.
resource
- the resource of interestdepth
- the depth (one of IResource.DEPTH_ZERO
,
DEPTH_ONE
, or DEPTH_INFINITE
)
true
if the resource is synchronized, and
false
in all other casespublic long computeTimestamp(IFile file)
NULL_TIMESTAMP
if the timestamp of the file in
the local file system cannot be determined. The file need not exist in
the workspace resource tree; however, if the file's project does not
exist in the workspace resource tree, this method returns
NULL_TIMESTAMP
because the project's local content area
is indeterminate.
Note that the timestamps used for workspace resource tree file
synchronization are not necessarily interchangeable with
java.io.File
last modification time.The ones computed by
computeTimestamp
may have a higher resolution in some
operating environments.
file
- the file of interest
NULL_TIMESTAMP
if it could not be computedpublic long getTimestamp(IFile file)
NULL_TIMESTAMP
if the given file
does not exist in the workspace resource tree, or if the timestamp is
not known.
Note that the timestamps used for workspace resource tree file
synchronization are not necessarily interchangeable with
java.io.File
last modification time.The ones computed by
computeTimestamp
may have a higher resolution in some
operating environments.
file
- the file of interest
NULL_TIMESTAMP
if the file does not exist in the
workspace resource tree, or if the timestamp is not knownpublic void updateMovedFileTimestamp(IFile file, long timestamp)
The given timestamp should be that of the corresponding file in the local
file system (as computed by computeTimestamp
). A discrepency
between the timestamp of the file in the local file system and the
timestamp recorded in the workspace resource tree means that the file is
out of sync (isSynchronized
returns false
).
This operation should be used after movedFile/Folder/Project
to correct the workspace resource tree record when file timestamps change
in the course of a move operation.
Note that the timestamps used for workspace resource tree file
synchronization are not necessarily interchangeable with
java.io.File
last modification time.The ones computed by
computeTimestamp
may have a higher resolution in some
operating environments.
file
- the file of interesttimestamp
- the local file system timestamp for the file, or
NULL_TIMESTAMP
if unknowncomputeTimestamp(org.eclipse.core.resources.IFile)
public void failed(IStatus reason)
reason
- the reason the operation (or sub-operation) failedpublic void deletedFile(IFile file)
This method clears out any markers, session properties, and persistent properties associated with the given file.
file
- the file that was just deleted from the local file systempublic void deletedFolder(IFolder folder)
This method clears out any markers, session properties, and persistent properties associated with the given folder or its descendents.
folder
- the folder that was just deleted from the local file systempublic void deletedProject(IProject project)
This method clears out everything associated with this project and any of its descendent resources, including: markers; session properties; persistent properties; local history; and project-specific plug-ins working data areas. The project's content area is not affected.
project
- the project being deletedpublic void movedFile(IFile source, IFile destination)
The destination file must not already exist in the workspace resource tree.
This operation carries over the file timestamp unchanged. Use
setTimestamp
to update the timestamp of the file if its
timestamp changed as a direct consequence of the move.
(Note that resynchronize
cannot be used for this purpose.)
source
- the handle of the source file that was moveddestination
- the handle of where the file moved tocomputeTimestamp(org.eclipse.core.resources.IFile)
public void movedFolderSubtree(IFolder source, IFolder destination)
This operation carries over file timestamps unchanged. Use
updateMovedFileTimestamp
to update the timestamp of files
whose timestamps changed as a direct consequence of the move.
The destination folder must not already exist in the workspace resource tree.
source
- the handle of the source folder that was moveddestination
- the handle of where the folder moved topublic boolean movedProjectSubtree(IProject source, IProjectDescription description)
This operation carries over file timestamps unchanged. Use
updateMovedFileTimestamp
to update the timestamp of files whose
timestamps changed as a direct consequence of the move.
If the project is being renamed, the destination project must not already exist in the workspace resource tree.
Local history is not preserved if the project is renamed. It is preserved when the project's content area is relocated without renaming the project.
source
- the handle of the source project that was moveddescription
- the new project description
true
if the move succeeded, and false
otherwisepublic void standardDeleteFile(IFile file, int updateFlags, IProgressMonitor monitor)
Implementations of IMoveDeleteHook
must invoke this method
in lieu of file.delete(updateFlags, monitor)
because all
regular API operations that modify resources are off limits.
If the operation fails, the reason for the failure is automatically
collected by an internal call to failed
.
file
- the file to deleteupdateFlags
- bit-wise or of update flag constants as per
IResource.delete(int,IProgressMonitor)
monitor
- the progress monitor, or null
as per
IResource.delete(int,IProgressMonitor)
public void standardDeleteFolder(IFolder folder, int updateFlags, IProgressMonitor monitor)
Implementations of IMoveDeleteHook
must invoke this method
in lieu of folder.delete(updateFlags, monitor)
because all
regular API operations that modify resources are off limits.
If the operation fails, the reason for the failure is automatically
collected by an internal call to failed
.
folder
- the folder to deleteupdateFlags
- bit-wise or of update flag constants as per
IResource.delete(int,IProgressMonitor)
monitor
- the progress monitor, or null
as per
IResource.delete(int,IProgressMonitor)
public void standardDeleteProject(IProject project, int updateFlags, IProgressMonitor monitor)
Implementations of IMoveDeleteHook
must invoke this method
in lieu of project.delete(updateFlags, monitor)
because all
regular API operations that modify resources are off limits.
If the operation fails, the reason for the failure is automatically
collected by an internal call to failed
.
project
- the project to deleteupdateFlags
- bit-wise or of update flag constants as per
IResource.delete(int,IProgressMonitor)
monitor
- the progress monitor, or null
as per
IResource.delete(int,IProgressMonitor)
public void standardMoveFile(IFile source, IFile destination, int updateFlags, IProgressMonitor monitor)
Implementations of IMoveDeleteHook
must invoke this method
in lieu of source.move(destination.getProjectRelativePath(),
updateFlags, monitor)
because all regular API operations that
modify resources are off limits.
If the operation fails, the reason for the failure is automatically
collected by an internal call to failed
.
source
- the handle of the source file to movedestination
- the handle of where the file will move toupdateFlags
- bit-wise or of update flag constants as per
IResource.move(IPath,int,IProgressMonitor)
monitor
- the progress monitor, or null
as per
IResource.move(IPath,int,IProgressMonitor)
public void standardMoveFolder(IFolder source, IFolder destination, int updateFlags, IProgressMonitor monitor)
Implementations of IMoveDeleteHook
must invoke this method
in lieu of source.move(destination.getProjectRelativePath(),
updateFlags, monitor)
because all regular API operations that
modify resources are off limits.
If the operation fails, the reason for the failure is automatically
collected by an internal call to failed
.
source
- the handle of the source folder to movedestination
- the handle of where the folder will move toupdateFlags
- bit-wise or of update flag constants as per
IResource.move(IPath,int,IProgressMonitor)
monitor
- the progress monitor, or null
as per
IResource.move(IPath,int,IProgressMonitor)
public void standardMoveProject(IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor)
Implementations of IMoveDeleteHook
must invoke this method
in lieu of source.move(description, updateFlags, monitor)
because all regular API operations that modify resources are off limits.
If the operation fails, the reason for the failure is automatically
collected by an internal call to failed
.
source
- the handle of the source folder to movedescription
- the new project descriptionupdateFlags
- bit-wise or of update flag constants as per
IResource.move(IPath,int,IProgressMonitor)
monitor
- the progress monitor, or null
as per
IResource.move(IPath,int,IProgressMonitor)
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |