UC Berkeley Group for User Interface Research
Updated November 17, 2000

edu.berkeley.guir.lib.satin.command
Interface Command

All Superinterfaces:
SatinConstants, UndoableEdit
All Known Implementing Classes:
CommandImpl

public interface Command
extends UndoableEdit, SatinConstants

Satin specific commands. Command objects make operations first-order objects, allowing us to easily undo and redo things.

This software is distributed under the Berkeley Software License.

 Revisions:  - SATIN-v1.0-1.0.0, Jun 22 1999, JH
               Created class
             - SATIN-v2.1-1.0.0, Aug 11 2000, JH
               Touched for SATIN release
 

Since:
JDK 1.2
Version:
SATIN-v2.1-1.0.0, Aug 11 2000
Author:
Jason Hong ( jasonh@cs.berkeley.edu )

Inner classes inherited from class edu.berkeley.guir.lib.satin.SatinConstants
SatinConstants.ObjectPoolAffineTransform, SatinConstants.ObjectPoolPoint2D, SatinConstants.ObjectPoolPolygon2D, SatinConstants.ObjectPoolRectangle2D, SatinConstants.ObjectPoolStringBuffer, SatinConstants.UniqueAffineTransform, SatinConstants.UniquePoint2D, SatinConstants.UniquePolygon2D, SatinConstants.UniqueRectangle2D
 
Fields inherited from interface edu.berkeley.guir.lib.satin.SatinConstants
ABOVE, ALL, BAR, BELOW, clipboard, clprops, cmdqueue, cmdsubsys, CONTAINEDBY, CONTAINS, COORD_ABS, COORD_LOCAL, COORD_REL, DAMAGE_LATER, DAMAGE_NOW, DEBUG_GRAPHICS_OFFSET, DEBUG_STYLE_FILE, DEBUG_STYLE_GPROPERTY, DEEP, DEFAULT_POINT2D_POOL_SIZE, DEFAULT_POLYGON2D_POOL_SIZE, DEFAULT_RECTANGLE_POOL_SIZE, DEFAULT_REPAINT_THRESHOLD, DEFAULT_SELECT_THRESHOLD, DEFAULT_STRINGBUFFER_POOL_SIZE, DEFAULT_TRANSFORM_POOL_SIZE, DIR_CENTER, DIR_DOWN, DIR_DOWN_LEFT, DIR_DOWN_RIGHT, DIR_LEFT, DIR_RIGHT, DIR_UP, DIR_UP_LEFT, DIR_UP_RIGHT, FILTER_THRESHOLD, FIRST, FLOATING_PT_TOLERANCE, glprops, INTERSECTS, KEY_STYLE_DASHARRAY, KEY_STYLE_DASHPHASE, KEY_STYLE_DRAWCOLOR, KEY_STYLE_DRAWFONT, KEY_STYLE_DRAWTRANSPARENCY, KEY_STYLE_ENDCAP, KEY_STYLE_FILLCOLOR, KEY_STYLE_FILLTRANSPARENCY, KEY_STYLE_LINEJOIN, KEY_STYLE_LINEWIDTH, KEY_STYLE_MITERLIMIT, NEAR, NOTIFY_BOUNDS, NOTIFY_LAYER, NOTIFY_LOCATION, NOTIFY_STYLE, NOTIFY_TRANSFORM, poolPoints, poolPolys, poolRects, poolStrbuf, poolTx, rand, SATIN_DATA_DIRECTORY_DEFAULT, SATIN_DATA_DIRECTORY_GPROPERTY, SATIN_PROPERTIES_FILENAME, SHALLOW
 
Method Summary
 void disable()
          Disable this command, disallowing execution.
 void enable()
          Enable this command, allowing execution.
 void execute()
          Execute the command this object represents.
 long getExecutionTime()
          Get the system time this command was first executed.
 boolean isDisabled()
          Test if this command is disabled or not.
 boolean isEnabled()
          Test if this command is enabled or not.
 void setExecutionTime()
          Set the time this command was executed to the current time.
 void setExecutionTime(long l)
          Set the time this command was executed to the specified time.
 
Methods inherited from interface javax.swing.undo.UndoableEdit
addEdit, canRedo, canUndo, die, getPresentationName, getRedoPresentationName, getUndoPresentationName, isSignificant, redo, replaceEdit, undo
 

Method Detail

execute

public void execute()
Execute the command this object represents. The problem with the existing undo mechanism provided by Java Swing is that the unit of reification is a completed edit. In other words, Swing's version of a command knows how to undo itself and knows how to redo itself, but does not know how to execute itself in the first place!

isEnabled

public boolean isEnabled()
Test if this command is enabled or not. It is similar to isDisabled(). This should be a static method, but Java does not allow static methods in interfaces. However, the underlying variable should be static.
Returns:
true if the command can be executed, false otherwise.

isDisabled

public boolean isDisabled()
Test if this command is disabled or not. It is similar to isEnabled(). This should be a static method, but Java does not allow static methods in interfaces. However, the underlying variable should be static.
Returns:
true if the command can not be executed, false otherwise.

enable

public void enable()
Enable this command, allowing execution. This should be a static method, but Java does not allow static methods in interfaces. However, the underlying variable should be static.

disable

public void disable()
Disable this command, disallowing execution. This should be a static method, but Java does not allow static methods in interfaces. However, the underlying variable should be static.

setExecutionTime

public void setExecutionTime()
Set the time this command was executed to the current time.

setExecutionTime

public void setExecutionTime(long l)
Set the time this command was executed to the specified time.
Parameters:
l - is the time to set the execution time to.

getExecutionTime

public long getExecutionTime()
Get the system time this command was first executed.
Returns:
a long representing time in ms. Just normal Java time.

Copyright Information