EASE.Agents.Specification
Class State

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--EASE.Agents.Specification.State

class State
extends javax.swing.JComponent
implements java.awt.event.ActionListener, Constants

This is for a single state. Implements both the visual and internal aspects.
It handles contracts or satisfactions depending on the agent type.
If it has subcontracts it will listen for changes in the contarcted agents.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  javax.swing.JMenuItem addTransitionM
           
private  Configuration config
           
private  java.util.Vector contracts
           
private  javax.swing.JMenuItem deleteM
           
private  javax.swing.JMenuItem editNameM
           
private  boolean isFailure
           
private  boolean isFinal
           
private  boolean isStart
           
private  java.util.Vector listeners
           
private  MouseToAction mouseListener
           
private  java.lang.String name
          Default name for state
(package private)  PopupListener popListener
           
private  javax.swing.JPopupMenu popup
           
private  SatisfactionChooser satisChoose
           
private  java.util.Vector satisfaction
           
(package private) static long serialVersionUID
           
private  javax.swing.JMenuItem setContractsM
           
private  javax.swing.JCheckBoxMenuItem setFailureStateM
           
private  javax.swing.JCheckBoxMenuItem setFinalStateM
           
private  javax.swing.JMenuItem setSatisfactionM
           
private  javax.swing.JCheckBoxMenuItem setStartStateM
           
private  StateSave ss
           
private  SubContractsSpecification subSpecification
           
private  java.util.Hashtable transitions
           
private  java.lang.String type
          One of the types defined in EASE.Constants
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
State(StateSave ss)
          Constructor for recreating a saved state.
State(java.lang.String agentType)
           
 
Method Summary
(package private)  void ()
           
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addListener(java.awt.event.ActionListener a)
          Access to listen to this state
 void addTransition(State endState, Transition t)
          add a transition.
 java.util.Vector getParameters()
          Gets the parameters for the state depending on whether agent is manager or engineer.
 StateSave getStateSave()
           
 java.lang.String getType()
          Return a string with the agent type (constant from EASE.Constants)
 Transition hasTransition(State endState)
          Checks if there is a transition from this state that ends at state endState
 boolean isStart()
           
private  void notifyAll(java.awt.event.ActionEvent evt)
           
 void paint(java.awt.Graphics gr)
           
 void removeTransition(State endState)
          add a transition.
 void setStart(boolean isStart)
           
 void setType(java.lang.String type)
          Type of agent for this state
 java.lang.String toString()
           
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, paramString, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update, updateUI, writeObject
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

name

private java.lang.String name
Default name for state


isFinal

private boolean isFinal

isStart

private boolean isStart

isFailure

private boolean isFailure

type

private java.lang.String type
One of the types defined in EASE.Constants

satisfaction

private java.util.Vector satisfaction

contracts

private java.util.Vector contracts

ss

private StateSave ss

popup

private javax.swing.JPopupMenu popup

editNameM

private javax.swing.JMenuItem editNameM

deleteM

private javax.swing.JMenuItem deleteM

addTransitionM

private javax.swing.JMenuItem addTransitionM

setFinalStateM

private javax.swing.JCheckBoxMenuItem setFinalStateM

setStartStateM

private javax.swing.JCheckBoxMenuItem setStartStateM

setFailureStateM

private javax.swing.JCheckBoxMenuItem setFailureStateM

setSatisfactionM

private javax.swing.JMenuItem setSatisfactionM

setContractsM

private javax.swing.JMenuItem setContractsM

mouseListener

private MouseToAction mouseListener

satisChoose

private SatisfactionChooser satisChoose

subSpecification

private SubContractsSpecification subSpecification

popListener

PopupListener popListener

listeners

private java.util.Vector listeners

serialVersionUID

static final long serialVersionUID

config

private transient Configuration config

transitions

private transient java.util.Hashtable transitions
Constructor Detail

State

public State(java.lang.String agentType)

State

public State(StateSave ss)
Constructor for recreating a saved state.

Creates a subcontract specification so that change listeners are set up.

Method Detail

setType

public void setType(java.lang.String type)
Type of agent for this state


getType

public java.lang.String getType()
Return a string with the agent type (constant from EASE.Constants)


setStart

public void setStart(boolean isStart)

isStart

public boolean isStart()

getStateSave

public StateSave getStateSave()

getParameters

public java.util.Vector getParameters()
Gets the parameters for the state depending on whether agent is manager or engineer.

Returns null rather than an empty vector.


paint

public void paint(java.awt.Graphics gr)
Overrides:
paint in class javax.swing.JComponent

void ()
Overrides:
in class javax.swing.JComponent

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

addListener

public void addListener(java.awt.event.ActionListener a)
Access to listen to this state

notifyAll

private void notifyAll(java.awt.event.ActionEvent evt)

addTransition

public void addTransition(State endState,
                          Transition t)
add a transition. Caution not saved.


removeTransition

public void removeTransition(State endState)
add a transition. Caution not saved.


hasTransition

public Transition hasTransition(State endState)
Checks if there is a transition from this state that ends at state endState

toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component