Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.ui.ide.undo
Class CreateFolderOperation

java.lang.Object
  extended by 

org.eclipse.core.commands.operations.AbstractOperation
      extended by 

org.eclipse.ui.ide.undo.AbstractWorkspaceOperation
          extended by 
org.eclipse.ui.ide.undo.CreateFolderOperation
All Implemented Interfaces:
IAdvancedUndoableOperation, IAdvancedUndoableOperation2, IUndoableOperation

public class CreateFolderOperation
extends AbstractWorkspaceOperation

A CreateFolderOperation represents an undoable operation for creating a folder in the workspace. If a link location is specified, the folder is considered to be linked to the specified location. If a link location is not specified, the folder will be created in the location specified by the handle, and the entire containment path of the folder will be created if it does not exist. The folder should not already exist, and the existence of the containment path should not be changed between the time this operation is created and the time it is executed. Clients may call the public API from a background thread. This class is intended to be instantiated and used by clients. It is not intended to be subclassed by clients.

Since:
3.3

Field Summary
protected   ResourceDescription[] resourceDescriptions
           
 
Fields inherited from class org.eclipse.ui.ide.undo. AbstractWorkspaceOperation
EXECUTE, quietCompute, REDO, resources, UNDO
 
Constructor Summary
CreateFolderOperation ( IFolder folderHandle, URI linkLocation, String label)
          Create a CreateFolderOperation
 
Method Summary
protected  void appendDescriptiveText ( StringBuffer text)
          Append any descriptive text to the specified string buffer to be shown in the receiver's AbstractWorkspaceOperation.toString() text.
protected   ISchedulingRule computeCreateSchedulingRule ()
          Compute a scheduling rule for creating resources.
protected   IStatus computeCreateStatus (boolean allowOverwrite)
          Compute the status for creating resources from the descriptions.
protected   ISchedulingRule computeDeleteSchedulingRule ()
          Compute a scheduling rule for deleting resources.
protected   IStatus computeDeleteStatus ()
          Compute the status for deleting resources.
  IStatus computeExecutionStatus ( IProgressMonitor monitor)
          Return a status indicating the projected outcome of executing the receiver.
  IStatus computeRedoableStatus ( IProgressMonitor monitor)
          Return a status indicating the projected outcome of redoing the receiver.
  IStatus computeUndoableStatus ( IProgressMonitor monitor)
          Return a status indicating the projected outcome of undoing the receiver.
protected  void delete ( IProgressMonitor monitor, IAdaptable uiInfo, boolean deleteContent)
          Delete any resources known by this operation.
protected  void doExecute ( IProgressMonitor monitor, IAdaptable uiInfo)
          Perform the specific work involved in executing this operation.
protected  void doUndo ( IProgressMonitor monitor, IAdaptable uiInfo)
          Perform the specific work involved in undoing this operation.
protected   ISchedulingRule getExecuteSchedulingRule ()
          Return a scheduling rule appropriate for executing this operation.
protected   ISchedulingRule getUndoSchedulingRule ()
          Return a scheduling rule appropriate for undoing this operation.
protected  void recreate ( IProgressMonitor monitor, IAdaptable uiInfo)
          Recreate any resources known by this operation.
protected  void setResourceDescriptions ( ResourceDescription[] descriptions)
          Set the array of resource descriptions describing resources to be restored when undoing or redoing this operation.
protected  void setTargetResources ( IResource[] targetResources)
          Set the resources which are affected by this operation
protected  boolean updateResourceChangeDescriptionFactory ( IResourceChangeDescriptionFactory factory, int operation)
          Update the provided resource change description factory so it can generate a resource delta describing the result of an undo or redo.
 
Methods inherited from class org.eclipse.ui.ide.undo. AbstractWorkspaceOperation
aboutToNotify, canExecute, canRedo, canUndo, execute, getAffectedObjects, getErrorStatus, getRedoSchedulingRule, getShell, getWarningStatus, getWorkspace, getWorkspaceRuleFactory, isValid, markInvalid, redo, resourcesExist, resourcesIncludesProjects, runInBackground, setModelProviderIds, setQuietCompute, toString, undo
 
Methods inherited from class org.eclipse.core.commands.operations. AbstractOperation
addContext, dispose, getContexts, getLabel, hasContext, removeContext, setLabel
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

resourceDescriptions

protected 
ResourceDescription[] resourceDescriptions
Constructor Detail

CreateFolderOperation

public CreateFolderOperation(
IFolder folderHandle,
                             
URI linkLocation,
                             
String label)
Create a CreateFolderOperation

Parameters:
folderHandle - the folder to be created
linkLocation - the location of the folder if it is to be linked
label - the label of the operation
Method Detail

doExecute

protected void doExecute(
IProgressMonitor monitor,
                         
IAdaptable uiInfo)
                  throws 
CoreException
Description copied from class: AbstractWorkspaceOperation
Perform the specific work involved in executing this operation.

Specified by:
doExecute in class AbstractWorkspaceOperation
Parameters:
monitor - the progress monitor to use for the operation
uiInfo - the IAdaptable (or null) provided by the caller in order to supply UI information for prompting the user if necessary. When this parameter is not null, it contains an adapter for the org.eclipse.swt.widgets.Shell.class
Throws:
CoreException - propagates any CoreExceptions thrown from the resources API

doUndo

protected void doUndo(
IProgressMonitor monitor,
                      
IAdaptable uiInfo)
               throws 
CoreException
Description copied from class: AbstractWorkspaceOperation
Perform the specific work involved in undoing this operation.

Specified by:
doUndo in class AbstractWorkspaceOperation
Parameters:
monitor - the progress monitor to use for the operation
uiInfo - the IAdaptable (or null) provided by the caller in order to supply UI information for prompting the user if necessary. When this parameter is not null, it contains an adapter for the org.eclipse.swt.widgets.Shell.class
Throws:
CoreException - propagates any CoreExceptions thrown from the resources API

updateResourceChangeDescriptionFactory

protected boolean updateResourceChangeDescriptionFactory(
IResourceChangeDescriptionFactory factory,
                                                         int operation)
Description copied from class: AbstractWorkspaceOperation
Update the provided resource change description factory so it can generate a resource delta describing the result of an undo or redo. Return a boolean indicating whether any update was done. The default implementation does not update the factory. Subclasses are expected to override this method to more specifically describe their modifications to the workspace.

Overrides:
updateResourceChangeDescriptionFactory in class AbstractWorkspaceOperation
Parameters:
factory - the factory to update
operation - an integer indicating whether the change is part of an execute, undo, or redo
Returns:
a boolean indicating whether the factory was updated.

getExecuteSchedulingRule

protected 
ISchedulingRule getExecuteSchedulingRule()
Description copied from class: AbstractWorkspaceOperation
Return a scheduling rule appropriate for executing this operation. The default implementation is to return a rule that locks out the entire workspace. Subclasses are encouraged to provide more specific rules that affect only their resources.

Overrides:
getExecuteSchedulingRule in class AbstractWorkspaceOperation
Returns:
the scheduling rule to use when executing this operation, or null if there are no scheduling restrictions for this operation.
See Also:
IWorkspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor)

getUndoSchedulingRule

protected 
ISchedulingRule getUndoSchedulingRule()
Description copied from class: AbstractWorkspaceOperation
Return a scheduling rule appropriate for undoing this operation. The default implementation is to return a rule that locks out the entire workspace. Subclasses are encouraged to provide more specific rules that affect only their resources.

Overrides:
getUndoSchedulingRule in class AbstractWorkspaceOperation
Returns:
the scheduling rule to use when undoing this operation, or null if there are no scheduling restrictions for this operation.
See Also:
IWorkspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor)

computeExecutionStatus

public 
IStatus computeExecutionStatus(
IProgressMonitor monitor)
Description copied from class: AbstractWorkspaceOperation
Return a status indicating the projected outcome of executing the receiver. This method is not called by the operation history, but instead is used by clients (such as implementers of IOperationApprover2) who wish to perform advanced validation of an operation before attempting to execute it. If an ERROR status is returned, the operation will not proceed and the user notified if deemed necessary by the caller. The validity flag on the operation should be marked as invalid. If an OK status is returned, the operation will proceed. The caller must interpret any other returned status severity, and may choose to prompt the user as to how to proceed. If there are multiple conditions that result in an ambiguous status severity, it is best for the implementor of this method to consult the user as to how to proceed for each one, and return an OK or ERROR status that accurately reflects the user's wishes, or to return a multi-status that accurately describes all of the issues at hand, so that the caller may potentially consult the user. (Note that the user should not be consulted at all if a client has called AbstractWorkspaceOperation.setQuietCompute(boolean) with a value of true.) This implementation computes the validity of execution by computing the resource delta that would be generated on execution, and checking whether any registered model providers are affected by the operation.

Specified by:
computeExecutionStatus in interface IAdvancedUndoableOperation2
Overrides:
computeExecutionStatus in class AbstractWorkspaceOperation
Parameters:
monitor - the progress monitor to be used for computing the status
Returns:
the status indicating the projected outcome of executing the receiver
See Also:
IAdvancedUndoableOperation.computeUndoableStatus(org.eclipse.core.runtime.IProgressMonitor), AbstractWorkspaceOperation.setQuietCompute(boolean)

computeUndoableStatus

public 
IStatus computeUndoableStatus(
IProgressMonitor monitor)
Description copied from class: AbstractWorkspaceOperation
Return a status indicating the projected outcome of undoing the receiver. This method is not called by the operation history, but instead is used by clients (such as implementers of IOperationApprover2) who wish to perform advanced validation of an operation before attempting to undo it. If an ERROR status is returned, the undo will not proceed and the user notified if deemed necessary by the caller. The validity flag on the operation should be marked as invalid. If an OK status is returned, the undo will proceed. The caller must interpret any other returned status severity, and may choose to prompt the user as to how to proceed. If there are multiple conditions that result in an ambiguous status severity, it is best for the implementor of this method to consult the user as to how to proceed for each one, and return an OK or ERROR status that accurately reflects the user's wishes, or to return a multi-status that accurately describes all of the issues at hand, so that the caller may potentially consult the user. (Note that the user should not be consulted at all if a client has called AbstractWorkspaceOperation.setQuietCompute(boolean) with a value of true.) This implementation computes the validity of undo by computing the resource delta that would be generated on undo, and checking whether any registered model providers are affected by the operation.

Specified by:
computeUndoableStatus in interface IAdvancedUndoableOperation
Overrides:
computeUndoableStatus in class AbstractWorkspaceOperation
Parameters:
monitor - the progress monitor to be used for computing the status
Returns:
the status indicating the projected outcome of undoing the receiver
See Also:
IAdvancedUndoableOperation.computeUndoableStatus(org.eclipse.core.runtime.IProgressMonitor), AbstractWorkspaceOperation.setQuietCompute(boolean)

computeRedoableStatus

public 
IStatus computeRedoableStatus(
IProgressMonitor monitor)
Description copied from class: AbstractWorkspaceOperation
Return a status indicating the projected outcome of redoing the receiver. This method is not called by the operation history, but instead is used by clients (such as implementers of IOperationApprover2) who wish to perform advanced validation of an operation before attempting to redo it. If an ERROR status is returned, the redo will not proceed and the user notified if deemed necessary by the caller. The validity flag on the operation should be marked as invalid. If an OK status is returned, the redo will proceed. The caller must interpret any other returned status severity, and may choose to prompt the user as to how to proceed. If there are multiple conditions that result in an ambiguous status severity, it is best for the implementor of this method to consult the user as to how to proceed for each one, and return an OK or ERROR status that accurately reflects the user's wishes, or to return a multi-status that accurately describes all of the issues at hand, so that the caller may potentially consult the user. (Note that the user should not be consulted at all if a client has called AbstractWorkspaceOperation.setQuietCompute(boolean) with a value of true.) This implementation computes the validity of redo by computing the resource delta that would be generated on redo, and checking whether any registered model providers are affected by the operation.

Specified by:
computeRedoableStatus in interface IAdvancedUndoableOperation
Overrides:
computeRedoableStatus in class AbstractWorkspaceOperation
Parameters:
monitor - the progress monitor to be used for computing the status
Returns:
the status indicating the projected outcome of redoing the receiver
See Also:
IAdvancedUndoableOperation.computeUndoableStatus(org.eclipse.core.runtime.IProgressMonitor), AbstractWorkspaceOperation.setQuietCompute(boolean)

delete

protected void delete(
IProgressMonitor monitor,
                      
IAdaptable uiInfo,
                      boolean deleteContent)
               throws 
CoreException
Delete any resources known by this operation. Store enough information to undo and redo the operation.

Parameters:
monitor - the progress monitor to use for the operation
uiInfo - the IAdaptable (or null) provided by the caller in order to supply UI information for prompting the user if necessary. When this parameter is not null, it contains an adapter for the org.eclipse.swt.widgets.Shell.class
deleteContent - true if the content of any known projects should be deleted along with the project. false if project content should not be deleted.
Throws:
CoreException - propagates any CoreExceptions thrown from the resources API

recreate

protected void recreate(
IProgressMonitor monitor,
                        
IAdaptable uiInfo)
                 throws 
CoreException
Recreate any resources known by this operation. Store enough information to undo and redo the operation.

Parameters:
monitor - the progress monitor to use for the operation
uiInfo - the IAdaptable (or null) provided by the caller in order to supply UI information for prompting the user if necessary. When this parameter is not null, it contains an adapter for the org.eclipse.swt.widgets.Shell.class
Throws:
CoreException - propagates any CoreExceptions thrown from the resources API

computeCreateStatus

protected 
IStatus computeCreateStatus(boolean allowOverwrite)
Compute the status for creating resources from the descriptions. A status severity of OK indicates that the create is likely to be successful. A status severity of ERROR indicates that the operation is no longer valid. Other status severities are open to interpretation by the caller. Note this method may be called on initial creation of a resource, or when a create or delete operation is being undone or redone. Therefore, this method should check conditions that can change over the life of the operation, such as the existence of the information needed to carry out the operation. One-time static checks should typically be done by the caller (such as the action that creates the operation) so that the user is not continually prompted or warned about conditions that were acceptable at the time of original execution.

Parameters:
allowOverwrite - a boolean that specifies whether resource creation should be allowed to overwrite an existent resource.

computeDeleteStatus

protected 
IStatus computeDeleteStatus()
Compute the status for deleting resources. A status severity of OK indicates that the delete is likely to be successful. A status severity of ERROR indicates that the operation is no longer valid. Other status severities are open to interpretation by the caller. Note this method may be called on initial deletion of a resource, or when a create or delete operation is being undone or redone. Therefore, this method should check conditions that can change over the life of the operation, such as the existence of the resources to be deleted. One-time static checks should typically be done by the caller (such as the action that creates the operation) so that the user is not continually prompted or warned about conditions that were acceptable at the time of original execution.


setResourceDescriptions

protected void setResourceDescriptions(
ResourceDescription[] descriptions)
Set the array of resource descriptions describing resources to be restored when undoing or redoing this operation.

Parameters:
descriptions - the array of resource descriptions

appendDescriptiveText

protected void appendDescriptiveText(
StringBuffer text)
Description copied from class: AbstractWorkspaceOperation
Append any descriptive text to the specified string buffer to be shown in the receiver's AbstractWorkspaceOperation.toString() text.

Note that this method is not intend to be subclassed by clients.

Overrides:
appendDescriptiveText in class AbstractWorkspaceOperation
Parameters:
text - the StringBuffer on which to append the text

computeCreateSchedulingRule

protected 
ISchedulingRule computeCreateSchedulingRule()
Compute a scheduling rule for creating resources.

Returns:
a scheduling rule appropriate for creating the resources specified in the resource descriptions

computeDeleteSchedulingRule

protected 
ISchedulingRule computeDeleteSchedulingRule()
Compute a scheduling rule for deleting resources.

Returns:
a scheduling rule appropriate for deleting the resources specified in the receiver.

setTargetResources

protected void setTargetResources(
IResource[] targetResources)
Description copied from class: AbstractWorkspaceOperation
Set the resources which are affected by this operation

Overrides:
setTargetResources in class AbstractWorkspaceOperation
Parameters:
targetResources - an array of resources

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire