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

edu.berkeley.guir.lib.satin.interpreter
Class DefaultMultiInterpreterImpl

java.lang.Object
  |
  +--edu.berkeley.guir.lib.satin.interpreter.InterpreterImpl
        |
        +--edu.berkeley.guir.lib.satin.interpreter.DefaultMultiInterpreterImpl
All Implemented Interfaces:
Cloneable, EventFilter, EventListener, Interpreter, MultiInterpreter, SatinConstants, SatinEventFilter, Serializable, StrokeEventFilter, StrokeListener
Direct Known Subclasses:
DebugMultiInterpreterImpl, MultiplexedMultiInterpreterImpl, SemanticZoomMultiInterpreterImpl

public class DefaultMultiInterpreterImpl
extends InterpreterImpl
implements MultiInterpreter

Basically a collection of Interpreters, used for delegation purposes by a GraphicalObject. A listener class for Interpreters that manipulates and handles the management of Interpreters. This is the class that will contain the rules for how multiple Interpreters are handled.

This software is distributed under the Berkeley Software License.

 Revisions:  - SATIN-v1.0-1.0.0, Apr 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 )
See Also:
Serialized Form

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
 
Constructor Summary
DefaultMultiInterpreterImpl()
          Does nothing.
 
Method Summary
 Interpreter add(Interpreter intrp)
          Add a stroke interpreter, setting the GraphicalObject the Interpreter is added to, via Interpreter.setAttachedGraphicalObject(GraphicalObject).
 void clear()
          Clear all of the interpreters.
 Object clone()
          Clones this MultiInterpreter.
protected  DefaultMultiInterpreterImpl clone(DefaultMultiInterpreterImpl im)
           
 boolean contains(Interpreter intrp)
          See if we contain the specified interpreter.
 Interpreter get(int index)
          Get the interpreter at the specified index.
 void handleNewStroke(NewStrokeEvent evt)
          Called when a stroke is started.
 void handleSingleStroke(SingleStrokeEvent evt)
          Called when a stroke is finished.
 void handleUpdateStroke(UpdateStrokeEvent evt)
          Called when a stroke is updated.
 Iterator iterator()
          Get an iterator over all of the Interpreters.
 Interpreter remove(Interpreter intrp)
          Remove a stroke Interpreter.
 GraphicalObject setAttachedGraphicalObject(GraphicalObject gob)
          Attaches the MultiInterpreter and every contained interpreter to the given graphical object.
 int size()
          Get the number of interpreters contained.
 String toString()
          Returns a string representation of this MultiInterpreter.
 
Methods inherited from class edu.berkeley.guir.lib.satin.interpreter.InterpreterImpl
clone, getAttachedGraphicalObject, getName, isConsumedAccepted, isEnabled, isEventAccepted, isEventAccepted, isLeftButtonAccepted, isMiddleButtonAccepted, isRightButtonAccepted, setAcceptConsumed, setAcceptLeftButton, setAcceptMiddleButton, setAcceptRightButton, setEnabled, setName
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.berkeley.guir.lib.satin.interpreter.Interpreter
getAttachedGraphicalObject, getName, isEnabled, setEnabled, setName
 
Methods inherited from interface edu.berkeley.guir.lib.satin.event.StrokeEventFilter
isLeftButtonAccepted, isMiddleButtonAccepted, isRightButtonAccepted, setAcceptLeftButton, setAcceptMiddleButton, setAcceptRightButton
 
Methods inherited from interface edu.berkeley.guir.lib.satin.event.SatinEventFilter
isConsumedAccepted, setAcceptConsumed
 
Methods inherited from interface edu.berkeley.guir.lib.satin.event.EventFilter
isEventAccepted
 

Constructor Detail

DefaultMultiInterpreterImpl

public DefaultMultiInterpreterImpl()
Does nothing.
Method Detail

setAttachedGraphicalObject

public GraphicalObject setAttachedGraphicalObject(GraphicalObject gob)
Attaches the MultiInterpreter and every contained interpreter to the given graphical object.
Specified by:
setAttachedGraphicalObject in interface Interpreter
Overrides:
setAttachedGraphicalObject in class InterpreterImpl
Parameters:
gob - is the GraphicalObject to attach.

add

public Interpreter add(Interpreter intrp)
Description copied from interface: MultiInterpreter
Add a stroke interpreter, setting the GraphicalObject the Interpreter is added to, via Interpreter.setAttachedGraphicalObject(GraphicalObject).
Specified by:
add in interface MultiInterpreter
Following copied from interface: edu.berkeley.guir.lib.satin.interpreter.MultiInterpreter
Parameters:
intrp - is the StrokeInterpreter to add.

remove

public Interpreter remove(Interpreter intrp)
Description copied from interface: MultiInterpreter
Remove a stroke Interpreter.
Specified by:
remove in interface MultiInterpreter
Following copied from interface: edu.berkeley.guir.lib.satin.interpreter.MultiInterpreter
Parameters:
intrp - is the StrokeInterpreter to remove.

iterator

public Iterator iterator()
Description copied from interface: MultiInterpreter
Get an iterator over all of the Interpreters.
Specified by:
iterator in interface MultiInterpreter
Following copied from interface: edu.berkeley.guir.lib.satin.interpreter.MultiInterpreter
Returns:
an Iterator of Interpreter objects.

get

public Interpreter get(int index)
Description copied from interface: MultiInterpreter
Get the interpreter at the specified index.
Specified by:
get in interface MultiInterpreter
Following copied from interface: edu.berkeley.guir.lib.satin.interpreter.MultiInterpreter
Parameters:
index - is the index in the list to get.
Returns:
the interpreter at the index, or null if the index is not there.

contains

public boolean contains(Interpreter intrp)
Description copied from interface: MultiInterpreter
See if we contain the specified interpreter.
Specified by:
contains in interface MultiInterpreter
Following copied from interface: edu.berkeley.guir.lib.satin.interpreter.MultiInterpreter
Parameters:
intrp - is the interpreter to check for containment.
Returns:
true if we contain intrp, false otherwise.

size

public int size()
Description copied from interface: MultiInterpreter
Get the number of interpreters contained.
Specified by:
size in interface MultiInterpreter

clear

public void clear()
Description copied from interface: MultiInterpreter
Clear all of the interpreters.
Specified by:
clear in interface MultiInterpreter

handleNewStroke

public void handleNewStroke(NewStrokeEvent evt)
Called when a stroke is started. Iterates through the list of contained interpreters, firing the new stroke event, until one of the contained interpreters consumes the event.
Specified by:
handleNewStroke in interface StrokeListener
Overrides:
handleNewStroke in class InterpreterImpl
Following copied from interface: edu.berkeley.guir.lib.satin.event.StrokeListener
Parameters:
evt - is the event to handle.

handleUpdateStroke

public void handleUpdateStroke(UpdateStrokeEvent evt)
Called when a stroke is updated. Iterates through the list of contained interpreters, firing the update stroke event, until one of the contained interpreters consumes the event.
Specified by:
handleUpdateStroke in interface StrokeListener
Overrides:
handleUpdateStroke in class InterpreterImpl
Following copied from interface: edu.berkeley.guir.lib.satin.event.StrokeListener
See Also:
StrokeListener.handleNewStroke(NewStrokeEvent).

handleSingleStroke

public void handleSingleStroke(SingleStrokeEvent evt)
Called when a stroke is finished. Iterates through the list of contained interpreters, firing the single stroke event, until one of the contained interpreters consumes the event.
Specified by:
handleSingleStroke in interface StrokeListener
Overrides:
handleSingleStroke in class InterpreterImpl
Following copied from interface: edu.berkeley.guir.lib.satin.event.StrokeListener
See Also:
StrokeListener.handleNewStroke(NewStrokeEvent).

toString

public String toString()
Returns a string representation of this MultiInterpreter.
Overrides:
toString in class InterpreterImpl

clone

public Object clone()
Clones this MultiInterpreter.
Specified by:
clone in interface Interpreter
Overrides:
clone in class InterpreterImpl

clone

protected DefaultMultiInterpreterImpl clone(DefaultMultiInterpreterImpl im)

Copyright Information