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
Answertopia.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.core.commands.operations
Class LinearUndoViolationDetector


java.lang.Object
  extended by 
org.eclipse.core.commands.operations.LinearUndoViolationDetector
All Implemented Interfaces:
IOperationApprover
Direct Known Subclasses:
LinearUndoEnforcer, LinearUndoViolationUserApprover

public abstract class LinearUndoViolationDetector
extends Object
implements IOperationApprover

An abstract class for detecting violations in a strict linear undo/redo model. Once a violation is detected, subclasses implement the specific behavior for indicating whether or not the undo/redo should proceed.

Since:
3.1

Constructor Summary
LinearUndoViolationDetector ()
          Create an instance of LinearUndoViolationDetector.
 
Method Summary
protected abstract   IStatus allowLinearRedoViolation ( IUndoableOperation operation, IUndoContext context, IOperationHistory history, IAdaptable info)
          Return a status indicating whether a linear redo violation is allowable.
protected abstract   IStatus allowLinearUndoViolation ( IUndoableOperation operation, IUndoContext context, IOperationHistory history, IAdaptable info)
          Return a status indicating whether a linear undo violation is allowable.
  IStatus proceedRedoing ( IUndoableOperation operation, IOperationHistory history, IAdaptable info)
          Return a status indicating whether the specified operation should be redone.
  IStatus proceedUndoing ( IUndoableOperation operation, IOperationHistory history, IAdaptable info)
          Return a status indicating whether the specified operation should be undone.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinearUndoViolationDetector

public LinearUndoViolationDetector()
Create an instance of LinearUndoViolationDetector.

Method Detail

allowLinearRedoViolation

protected abstract 
IStatus allowLinearRedoViolation(
IUndoableOperation operation,
                                                    
IUndoContext context,
                                                    
IOperationHistory history,
                                                    
IAdaptable info)
Return a status indicating whether a linear redo violation is allowable. A linear redo violation is defined as a request to redo a particular operation even if it is not the most recently added operation to the redo history.

Parameters:
operation - the operation for which a linear redo violation has been detected.
context - the undo context in which the linear redo violation exists
history - the operation history containing the operation
info - 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 should minimally contain an adapter for the org.eclipse.swt.widgets.Shell.class.
Returns:
the IStatus describing whether the redo violation is allowed. The redo will not proceed if the status severity is not OK, and the caller requesting the redo will be returned the status that caused the rejection. Specific status severities will not be interpreted by the history.

allowLinearUndoViolation

protected abstract 
IStatus allowLinearUndoViolation(
IUndoableOperation operation,
                                                    
IUndoContext context,
                                                    
IOperationHistory history,
                                                    
IAdaptable info)
Return a status indicating whether a linear undo violation is allowable. A linear undo violation is defined as a request to undo a particular operation even if it is not the most recently added operation to the undo history.

Parameters:
operation - the operation for which a linear undo violation has been detected.
context - the undo context in which the linear undo violation exists
history - the operation history containing the operation
info - 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 should minimally contain an adapter for the org.eclipse.swt.widgets.Shell.class.
Returns:
the IStatus describing whether the undo violation is allowed. The undo will not proceed if the status severity is not OK, and the caller requesting the undo will be returned the status that caused the rejection. Specific status severities will not be interpreted by the history.

proceedRedoing

public final 
IStatus proceedRedoing(
IUndoableOperation operation,
                                    
IOperationHistory history,
                                    
IAdaptable info)
Description copied from interface: IOperationApprover
Return a status indicating whether the specified operation should be redone. Any status that does not have severity IStatus.OK will not be approved. Implementers should not assume that the redo will be performed when the status is OK, since other operation approvers may veto the redo.

Specified by:
proceedRedoing in interface IOperationApprover
Parameters:
operation - the operation to be redone
history - the history redoing the operation
info - 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 should minimally contain an adapter for the org.eclipse.swt.widgets.Shell.class. Even if UI information is provided, the implementation of this method must be prepared for being called from a background thread. Any UI access must be properly synchronized using the techniques specified by the client's widget library.
Returns:
the IStatus describing whether the operation is approved. The redo will not proceed if the status severity is not OK, and the caller requesting the redo will be returned the status that caused the rejection. Any other status severities will not be interpreted by the history.

proceedUndoing

public final 
IStatus proceedUndoing(
IUndoableOperation operation,
                                    
IOperationHistory history,
                                    
IAdaptable info)
Description copied from interface: IOperationApprover
Return a status indicating whether the specified operation should be undone. Any status that does not have severity IStatus.OK will not be approved. Implementers should not assume that the undo will be performed when the status is OK, since other operation approvers can veto the undo.

Specified by:
proceedUndoing in interface IOperationApprover
Parameters:
operation - the operation to be undone
history - the history undoing the operation
info - 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 should minimally contain an adapter for the org.eclipse.swt.widgets.Shell.class. Even if UI information is provided, the implementation of this method must be prepared for being called from a background thread. Any UI access must be properly synchronized using the techniques specified by the client's widget library.
Returns:
the IStatus describing whether the operation is approved. The undo will not proceed if the status severity is not OK, and the caller requesting the undo will be returned the status that caused the rejection. Any other status severities will not be interpreted by the history.

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