org.eclipse.ui.actions
Class CopyFilesAndFoldersOperation
java.lang.Object
org.eclipse.ui.actions.CopyFilesAndFoldersOperation
-
Direct Known Subclasses:
-
MoveFilesAndFoldersOperation
-
public class CopyFilesAndFoldersOperation
- extends
Object
Perform the copy of file and folder resources from the clipboard when paste
action is invoked.
This class may be instantiated; it is not intended to be subclassed.
-
Restriction:
- This class is not intended to be subclassed by clients.
Method Summary
|
protected boolean
|
canPerformAutoRename
()
Returns whether this operation is able to perform on-the-fly
auto-renaming of resources with name collisions. |
protected void
|
copy
(
IResource[] resources,
IPath destination,
IProgressMonitor subMonitor)
Deprecated. As of 3.3, the work is performed in the undoable operation
created in
getUndoableCopyOrMoveOperation(IResource[], IPath)
|
void
|
copyFiles
(
String[] fileNames,
IContainer destination)
Copies the given files and folders to the destination. |
void
|
copyFiles
(
URI[] uris,
IContainer destination)
Copies the given URIS and folders to the destination. |
void
|
copyFilesInCurrentThread
(
String[] fileNames,
IContainer destination,
IProgressMonitor monitor)
Copies the given files and folders to the destination without forking a
new Thread or blocking using a WorkspaceModifyOperation. |
void
|
copyFilesInCurrentThread
(
URI[] uris,
IContainer destination,
IProgressMonitor monitor)
Copies the given files and folders to the destination without forking a
new Thread or blocking using a WorkspaceModifyOperation. |
IResource[]
|
copyResources
(
IResource[] resources,
IContainer destination)
Copies the given resources to the destination. |
IResource[]
|
copyResourcesInCurrentThread
(
IResource[] resources,
IContainer destination,
IProgressMonitor monitor)
Copies the given resources to the destination in the current Thread
without forking a new Thread or blocking using a
WorkspaceModifyOperation. |
protected
String
|
getDeepCheckQuestion
(
IResource source)
Returns the message for querying deep copy/move of a linked resource. |
protected
IFile
|
getFile
(
IResource resource)
Returns the resource either casted to or adapted to an IFile. |
protected
File[]
|
getFiles
(
String[] fileNames)
Deprecated. As of 3.3, this method is no longer in use anywhere in this
class and is only provided for backwards compatability with
subclasses of the receiver.
|
protected
IFolder
|
getFolder
(
IResource resource)
Returns the resource either casted to or adapted to an IFolder. |
String[]
|
getModelProviderIds
()
Returns the model provider ids that are known to the client that
instantiated this operation. |
protected
String
|
getOperationTitle
()
Returns the task title for this operation's progress dialog. |
protected
String
|
getProblemsMessage
()
Returns the message for this operation's problems dialog. |
protected
String
|
getProblemsTitle
()
Returns the title for this operation's problems dialog. |
protected
AbstractWorkspaceOperation
|
getUndoableCopyOrMoveOperation
(
IResource[] resources,
IPath destinationPath)
Returns an AbstractWorkspaceOperation suitable for performing the move or
copy operation that will move or copy the given resources to the given
destination path. |
protected boolean
|
getValidateConflictSource
()
Returns whether the source file in a destination collision will be
validateEdited together with the collision itself. |
protected boolean
|
homogenousResources
(
IResource source,
IResource destination)
Returns whether the given resources are either both linked or both
unlinked. |
protected boolean
|
isMove
()
Return whether the operation is a move or a copy |
void
|
setModelProviderIds
(
String[] modelProviderIds)
Sets the model provider ids that are known to the client that
instantiated this operation. |
String
|
validateDestination
(
IContainer destination,
IResource[] sourceResources)
Checks whether the destination is valid for copying the source resources. |
String
|
validateImportDestination
(
IContainer destination,
String[] sourceNames)
Checks whether the destination is valid for copying the source files. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
CopyFilesAndFoldersOperation
public CopyFilesAndFoldersOperation(
Shell shell)
- Creates a new operation initialized with a shell.
-
Parameters:
-
shell
- parent shell for error dialogs
canPerformAutoRename
protected boolean canPerformAutoRename()
- Returns whether this operation is able to perform on-the-fly
auto-renaming of resources with name collisions.
-
-
Returns:
-
true
if auto-rename is supported, and
false
otherwise
getDeepCheckQuestion
protected
String getDeepCheckQuestion(
IResource source)
- Returns the message for querying deep copy/move of a linked resource.
-
-
Parameters:
-
source
- resource the query is made for
-
Returns:
- the deep query message
copy
protected void copy(
IResource[] resources,
IPath destination,
IProgressMonitor subMonitor)
throws
CoreException
-
Deprecated. As of 3.3, the work is performed in the undoable operation
created in
getUndoableCopyOrMoveOperation(IResource[], IPath)
- Copies the resources to the given destination. This method is called
recursively to merge folders during folder copy.
-
-
Parameters:
-
resources
- the resources to copy -
destination
- destination to which resources will be copied -
subMonitor
- a progress monitor for showing progress and for cancelation
-
Throws:
-
CoreException
copyResources
public
IResource[] copyResources(
IResource[] resources,
IContainer destination)
- Copies the given resources to the destination. The current Thread is
halted while the resources are copied using a WorkspaceModifyOperation.
This method should be called from the UIThread.
-
-
Parameters:
-
resources
- the resources to copy -
destination
- destination to which resources will be copied
-
Returns:
- IResource[] the resulting
IResource
[] -
See Also:
-
WorkspaceModifyOperation
,
Display.getThread()
,
Thread.currentThread()
copyResourcesInCurrentThread
public
IResource[] copyResourcesInCurrentThread(
IResource[] resources,
IContainer destination,
IProgressMonitor monitor)
- Copies the given resources to the destination in the current Thread
without forking a new Thread or blocking using a
WorkspaceModifyOperation. It recommended that this method only be called
from a
WorkspaceJob
to avoid possible deadlock.
-
-
Parameters:
-
resources
- the resources to copy -
destination
- destination to which resources will be copied -
monitor
- the monitor that information will be sent to.
-
Returns:
- IResource[] the resulting
IResource
[] -
Since:
- 3.2
-
See Also:
-
WorkspaceModifyOperation
,
WorkspaceJob
isMove
protected boolean isMove()
- Return whether the operation is a move or a copy
-
-
Returns:
- whether the operation is a move or a copy
-
Since:
- 3.2
copyFiles
public void copyFiles(
URI[] uris,
IContainer destination)
- Copies the given URIS and folders to the destination. The current Thread
is halted while the resources are copied using a
WorkspaceModifyOperation. This method should be called from the UI
Thread.
-
-
Parameters:
-
uris
- the URIs to copy -
destination
- destination to which files will be copied -
Since:
- 3.2
-
See Also:
-
WorkspaceModifyOperation
,
Display.getThread()
,
Thread.currentThread()
copyFilesInCurrentThread
public void copyFilesInCurrentThread(
URI[] uris,
IContainer destination,
IProgressMonitor monitor)
- Copies the given files and folders to the destination without forking a
new Thread or blocking using a WorkspaceModifyOperation. It is
recommended that this method only be called from a
WorkspaceJob
to avoid possible deadlock.
-
-
Parameters:
-
uris
- the URIs to copy -
destination
- destination to which URIS will be copied -
monitor
- the monitor that information will be sent to. -
Since:
- 3.2
-
See Also:
-
WorkspaceModifyOperation
,
WorkspaceJob
copyFiles
public void copyFiles(
String[] fileNames,
IContainer destination)
- Copies the given files and folders to the destination. The current Thread
is halted while the resources are copied using a
WorkspaceModifyOperation. This method should be called from the UI
Thread.
-
-
Parameters:
-
fileNames
- names of the files to copy -
destination
- destination to which files will be copied -
Since:
- 3.2
-
See Also:
-
WorkspaceModifyOperation
,
Display.getThread()
,
Thread.currentThread()
copyFilesInCurrentThread
public void copyFilesInCurrentThread(
String[] fileNames,
IContainer destination,
IProgressMonitor monitor)
- Copies the given files and folders to the destination without forking a
new Thread or blocking using a WorkspaceModifyOperation. It is
recommended that this method only be called from a
WorkspaceJob
to avoid possible deadlock.
-
-
Parameters:
-
fileNames
- names of the files to copy -
destination
- destination to which files will be copied -
monitor
- the monitor that information will be sent to. -
Since:
- 3.2
-
See Also:
-
WorkspaceModifyOperation
,
WorkspaceJob
getFile
protected
IFile getFile(
IResource resource)
- Returns the resource either casted to or adapted to an IFile.
-
-
Parameters:
-
resource
- resource to cast/adapt
-
Returns:
- the resource either casted to or adapted to an IFile.
null
if the resource does not adapt to IFile
getFiles
protected
File[] getFiles(
String[] fileNames)
-
Deprecated. As of 3.3, this method is no longer in use anywhere in this
class and is only provided for backwards compatability with
subclasses of the receiver.
- Returns java.io.File objects for the given file names.
-
-
Parameters:
-
fileNames
- files to return File object for.
-
Returns:
- java.io.File objects for the given file names.
getFolder
protected
IFolder getFolder(
IResource resource)
- Returns the resource either casted to or adapted to an IFolder.
-
-
Parameters:
-
resource
- resource to cast/adapt
-
Returns:
- the resource either casted to or adapted to an IFolder.
null
if the resource does not adapt to IFolder
getOperationTitle
protected
String getOperationTitle()
- Returns the task title for this operation's progress dialog.
-
-
Returns:
- the task title
getProblemsMessage
protected
String getProblemsMessage()
- Returns the message for this operation's problems dialog.
-
-
Returns:
- the problems message
getProblemsTitle
protected
String getProblemsTitle()
- Returns the title for this operation's problems dialog.
-
-
Returns:
- the problems dialog title
getValidateConflictSource
protected boolean getValidateConflictSource()
- Returns whether the source file in a destination collision will be
validateEdited together with the collision itself. Returns false. Should
return true if the source file is to be deleted after the operation.
-
-
Returns:
- boolean
true
if the source file in a destination
collision should be validateEdited. false
if only
the destination should be validated.
homogenousResources
protected boolean homogenousResources(
IResource source,
IResource destination)
- Returns whether the given resources are either both linked or both
unlinked.
-
-
Parameters:
-
source
- source resource -
destination
- destination resource
-
Returns:
- boolean
true
if both resources are either linked
or unlinked. false
otherwise.
validateDestination
public
String validateDestination(
IContainer destination,
IResource[] sourceResources)
- Checks whether the destination is valid for copying the source resources.
Note this method is for internal use only. It is not API.
-
-
Parameters:
-
destination
- the destination container -
sourceResources
- the source resources
-
Returns:
- an error message, or
null
if the path is valid
validateImportDestination
public
String validateImportDestination(
IContainer destination,
String[] sourceNames)
- Checks whether the destination is valid for copying the source files.
Note this method is for internal use only. It is not API.
-
-
Parameters:
-
destination
- the destination container -
sourceNames
- the source file names
-
Returns:
- an error message, or
null
if the path is valid
getModelProviderIds
public
String[] getModelProviderIds()
- Returns the model provider ids that are known to the client that
instantiated this operation.
-
-
Returns:
- the model provider ids that are known to the client that
instantiated this operation.
-
Since:
- 3.2
setModelProviderIds
public void setModelProviderIds(
String[] modelProviderIds)
- Sets the model provider ids that are known to the client that
instantiated this operation. Any potential side effects reported by these
models during validation will be ignored.
-
-
Parameters:
-
modelProviderIds
- the model providers known to the client who is using this
operation. -
Since:
- 3.2
getUndoableCopyOrMoveOperation
protected
AbstractWorkspaceOperation getUndoableCopyOrMoveOperation(
IResource[] resources,
IPath destinationPath)
- Returns an AbstractWorkspaceOperation suitable for performing the move or
copy operation that will move or copy the given resources to the given
destination path.
-
-
Parameters:
-
resources
- the resources to be moved or copied -
destinationPath
- the destination path to which the resources should be moved
-
Returns:
- the operation that should be used to perform the move or cop
-
Since:
- 3.3
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.