pipe.dataLayer
Class PlaceTransitionObject

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended bypipe.dataLayer.PetriNetObject
                  extended bypipe.dataLayer.PlaceTransitionObject
All Implemented Interfaces:
Constants, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
Place, Token, Transition

public abstract class PlaceTransitionObject
extends PetriNetObject

PlaceTransitionObject - Petri-Net PLace or Transition SuperClass - Abstract

Version:
1.0
Author:
James D Bloom
See Also:

PNML - Petri-Net XMLSchema (stNet.xsd),

UML - PNML Package

, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  double componentHeight
           
protected  double componentWidth
           
private  java.util.Collection connectFrom
           
private  java.util.Collection connectTo
           
private  boolean isDragging
          Used in the mouse events to control dragging
protected  double positionX
          X-axis Position on screen
protected  double positionY
          Y-axis Position on screen
protected static Arc someArc
           
 
Fields inherited from class pipe.dataLayer.PetriNetObject
bounds, COMPONENT_DRAW_OFFSET, draggable, id, ignoreSelection, objectColour, pnName, selectable, selected, selectionBorderColour
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface pipe.gui.Constants
ADDTOKEN, ANIMATE, ANNOTATION, ANNOTATION_DEFAULT_FONT, ANNOTATION_DEFAULT_FONT_SIZE, ANNOTATION_LAYER_OFFSET, ANNOTATION_MIN_WIDTH, ANNOTATION_SIZE_OFFSET, ARC, ARC_CONTROL_POINT_CONSTANT, ARC_LAYER_OFFSET, ARC_PATH_PROXIMITY_WIDTH, ARC_PATH_SELECTION_WIDTH, ARC_POINT_LAYER_OFFSET, CREATING, DEFAULT_ELEMENT_TYPE, DELETE, DELTOKEN, DRAW, ELEMENT_FILL_COLOUR, ELEMENT_LINE_COLOUR, ENABLED_TRANSITION_COLOUR, FIRE, GRID, IMMTRANS, LOWEST_LAYER_OFFSET, NOTE_DISABLED_COLOUR, NOTE_EDITING_COLOUR, PLACE, PLACE_TRANSITION_HEIGHT, PLACE_TRANSITION_LAYER_OFFSET, PLACE_TRANSITION_PROXIMITY_RADIUS, PROPERTY_FILE_DESC, PROPERTY_FILE_EXTENSION, RANDOM, RESERVED_BORDER, RESIZE_POINT_DOWN_COLOUR, SELECT, SELECTION_FILL_COLOUR, SELECTION_LAYER_OFFSET, SELECTION_LINE_COLOUR, START, STEPBACKWARD, STEPFORWARD, STOP, TIMEDTRANS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PlaceTransitionObject()
          Create empty Petri-Net Object
PlaceTransitionObject(double positionXInput, double positionYInput)
          Create Petri-Net Object This constructor does all the work, the others just call it.
PlaceTransitionObject(double positionXInput, double positionYInput, java.lang.String idInput)
          Create Petri-Net Object
PlaceTransitionObject(double positionXInput, double positionYInput, java.lang.String idInput, java.lang.String nameInput, double nameOffsetXInput, double nameOffsetYInput)
          Create Petri-Net Object
 
Method Summary
 void addConnectFrom(Arc newArc)
          Adds inwards arc to place/transition
 void addConnectTo(Arc newArc)
          Adds outwards arc to place/transition
 void addedToGui()
           
 boolean areNotSameType(PlaceTransitionObject o)
           
 int boundsHeight()
          Returns the height bounds we want to use when initially creating the place on the gui
 int boundsWidth()
          Returns the width bounds we want to use when initially creating the place on the gui
 int centreOffsetLeft()
          Returns the distance between the outside of the component to the centre, in order to position the centre of the place where the mouse clicks on the screen
 int centreOffsetTop()
          Returns the distance between the outside of the component to the centre, in order to position the centre of the place where the mouse clicks on the screen
 void delete()
           
 java.awt.geom.Point2D.Double getCentre()
           
 java.util.Iterator getConnectFromIterator()
           
 java.util.Iterator getConnectToIterator()
           
 java.lang.String getId()
          Get id
 java.awt.geom.Point2D getIntersectOffset(java.awt.geom.Point2D start)
           
 java.lang.String getName()
          Get name
 double getPositionX()
          Get X-axis position
 java.lang.Double getPositionXObject()
          Get X-axis position returns null if value not yet entered
 double getPositionY()
          Get Y-axis position
 java.lang.Double getPositionYObject()
          Get Y-axis position returns null if value not yet entered
 void mouseDragged(java.awt.event.MouseEvent e)
          Implemented the moving of the objects - now done in the handler
 void mousePressed(java.awt.event.MouseEvent e)
          Event handler for when the user presses down on the mouse, this is used in conjunction with mouseDragged and mouseReleased to implement the moving action
 void mouseReleased(java.awt.event.MouseEvent e)
          Implemented the moving action - now moved into the handler
 void paintComponent(java.awt.Graphics g)
          Implemented in subclasses as involves some tailoring according to the shape
 void removeFromArc(Arc oldArc)
           
 void removeToArc(Arc oldArc)
           
 void select()
          Handles selection for Place/Transitions
 void setCentre(double x, double y)
          Sets the center of the component to position x, y
 void setId(java.lang.String idInput)
          Set id
 void setName(java.lang.String nameInput)
          Set name
 void setPositionX(double positionXInput)
          Set X-axis position
 void setPositionY(double positionYInput)
          Set Y-axis position
 void translate(int x, int y)
          Translates the component by x,y
 void updateBounds()
          Calculates the BoundsOffsets used for setBounds() method
 void updateConnected()
          Updates location of any attached arcs
abstract  void updateEndPoint(Arc arc)
           
private  void updateLabelLocation()
           
 
Methods inherited from class pipe.dataLayer.PetriNetObject
addLabelToContainer, deselect, getNameLabel, ignoreSelection, isDraggable, isSelectable, isSelected, removeFromContainer, setDraggable, setObjectColour, setSelectable, setSelectionBorderColour
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

positionX

protected double positionX
X-axis Position on screen


positionY

protected double positionY
Y-axis Position on screen


componentWidth

protected double componentWidth

componentHeight

protected double componentHeight

isDragging

private boolean isDragging
Used in the mouse events to control dragging


connectTo

private java.util.Collection connectTo

connectFrom

private java.util.Collection connectFrom

someArc

protected static Arc someArc
Constructor Detail

PlaceTransitionObject

public PlaceTransitionObject(double positionXInput,
                             double positionYInput,
                             java.lang.String idInput,
                             java.lang.String nameInput,
                             double nameOffsetXInput,
                             double nameOffsetYInput)
Create Petri-Net Object

Parameters:
positionXInput - X-axis Position
positionYInput - Y-axis Position
idInput - Place id
nameInput - Name
nameOffsetXInput - Name X-axis Position
nameOffsetYInput - Name Y-axis Position

PlaceTransitionObject

public PlaceTransitionObject(double positionXInput,
                             double positionYInput,
                             java.lang.String idInput)
Create Petri-Net Object

Parameters:
positionXInput - X-axis Position
positionYInput - Y-axis Position
idInput - Place id

PlaceTransitionObject

public PlaceTransitionObject(double positionXInput,
                             double positionYInput)
Create Petri-Net Object This constructor does all the work, the others just call it.

Parameters:
positionXInput - X-axis Position
positionYInput - Y-axis Position

PlaceTransitionObject

public PlaceTransitionObject()
Create empty Petri-Net Object

Method Detail

setPositionX

public void setPositionX(double positionXInput)
Set X-axis position

Parameters:
positionXInput - Double value for X-axis position

setPositionY

public void setPositionY(double positionYInput)
Set Y-axis position

Parameters:
positionYInput - Double value for Y-axis position

setId

public void setId(java.lang.String idInput)
Set id

Overrides:
setId in class PetriNetObject
Parameters:
idInput - String value for Place id;

setName

public void setName(java.lang.String nameInput)
Set name

Parameters:
nameInput - String value for Place name;

getPositionX

public double getPositionX()
Get X-axis position

Returns:
Double value for X-axis position

getPositionY

public double getPositionY()
Get Y-axis position

Returns:
Double value for Y-axis position

getId

public java.lang.String getId()
Get id

Overrides:
getId in class PetriNetObject
Returns:
String value for Place id;

getName

public java.lang.String getName()
Get name

Returns:
String value for Place name;

getPositionXObject

public java.lang.Double getPositionXObject()
Get X-axis position returns null if value not yet entered

Returns:
Double value for X-axis position

getPositionYObject

public java.lang.Double getPositionYObject()
Get Y-axis position returns null if value not yet entered

Returns:
Double value for Y-axis position

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Event handler for when the user presses down on the mouse, this is used in conjunction with mouseDragged and mouseReleased to implement the moving action

Parameters:
e - Mouse Event

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Implemented the moving action - now moved into the handler

Parameters:
e - Mouse Event

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Implemented the moving of the objects - now done in the handler

Parameters:
e - Mouse Event

paintComponent

public void paintComponent(java.awt.Graphics g)
Implemented in subclasses as involves some tailoring according to the shape

Overrides:
paintComponent in class PetriNetObject

getIntersectOffset

public java.awt.geom.Point2D getIntersectOffset(java.awt.geom.Point2D start)

boundsWidth

public int boundsWidth()
Returns the width bounds we want to use when initially creating the place on the gui

Returns:
Width bounds of Place

boundsHeight

public int boundsHeight()
Returns the height bounds we want to use when initially creating the place on the gui

Returns:
Height bounds of Place

centreOffsetTop

public int centreOffsetTop()
Returns the distance between the outside of the component to the centre, in order to position the centre of the place where the mouse clicks on the screen

Returns:
Top offset of Place

centreOffsetLeft

public int centreOffsetLeft()
Returns the distance between the outside of the component to the centre, in order to position the centre of the place where the mouse clicks on the screen

Returns:
Left offset of Place

updateBounds

public void updateBounds()
Calculates the BoundsOffsets used for setBounds() method


addConnectTo

public void addConnectTo(Arc newArc)
Adds outwards arc to place/transition


addConnectFrom

public void addConnectFrom(Arc newArc)
Adds inwards arc to place/transition


removeFromArc

public void removeFromArc(Arc oldArc)

removeToArc

public void removeToArc(Arc oldArc)

updateConnected

public void updateConnected()
Updates location of any attached arcs


translate

public void translate(int x,
                      int y)
Translates the component by x,y


setCentre

public void setCentre(double x,
                      double y)
Sets the center of the component to position x, y


getCentre

public java.awt.geom.Point2D.Double getCentre()

updateLabelLocation

private void updateLabelLocation()

delete

public void delete()
Overrides:
delete in class PetriNetObject

select

public void select()
Handles selection for Place/Transitions

Overrides:
select in class PetriNetObject

addedToGui

public void addedToGui()
Overrides:
addedToGui in class PetriNetObject

areNotSameType

public boolean areNotSameType(PlaceTransitionObject o)

getConnectFromIterator

public java.util.Iterator getConnectFromIterator()

getConnectToIterator

public java.util.Iterator getConnectToIterator()

updateEndPoint

public abstract void updateEndPoint(Arc arc)