package pipe.dataLayer;

//import java.awt.Color;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.event.MouseEvent;
import java.awt.geom.Ellipse2D;

/**
 * <b>Token</b> - Petri-Net Token Class
 *
 * @see <p><a href="..\PNMLSchema\index.html">PNML  -  Petri-Net XMLSchema (stNet.xsd)</a>
 * @see </p><p><a href="..\..\..\UML\dataLayer.html">UML  -  PNML Package </a></p>
 * @version 1.0
 * @author James D Bloom
 */

public class Token extends PlaceTransitionObject{

  /** Ellipse2D.Double token */
  protected Ellipse2D.Double token;
//  public static final int WIDTH = 5;
//  public static final int HEIGHT = 5;
  	public static final int DIAMETER = 5;

  /**
   * Create Petri-Net Token object
   *
   * @param positionXInput X-axis Position
   * @param positionYInput Y-axis Position
   * @param color - modified by aed02
   */
  public Token(int positionXInput, int positionYInput){
    super(positionXInput, positionYInput);
    componentWidth = WIDTH;
    componentHeight = HEIGHT;
    token = new Ellipse2D.Double(positionXInput, positionYInput, DIAMETER, DIAMETER);
  }

  /**
   * Create empty Petri-Net Token object
   *
   */
  public Token(){
  }



  /**
   * Get shape of object for drawing on screen
   *
   * @return token
   */
  public Shape getShape(){
    return token;
  }
  /**
   *Get boundaries of java.awt.Rectangle
   *
   * @return Boundaries of Token
   */
  public Rectangle getBounds(){
    return token.getBounds();
  }

  /**
   * Modifies start and end X and Y coords - does nothing.
   * @param startX Start X-axis Position
   * @param startY Start Y-axis Position
   * @param endX End X-axis Position
   * @param endY End Y-axis Position
   */
  public void modify(double startX, double startY, double endX, double endY){
  }

  public void updateSize(MouseEvent e) {}

  /** returns a unique id for an arc of the form to_n */
  public String getUniqueId() {
    return null;

  }

  /** Methods used to manipulate the transition count */
  protected void incCount(){
  }

  protected void decCount(){
  }
  protected int getCount() {
    return 0;
  }

/* (non-Javadoc)
 * @see pipe.dataLayer.PlaceTransitionObject#updateEndPoint(pipe.dataLayer.Arc)
 */
public void updateEndPoint(Arc arc) {
	// TODO Auto-generated method stub
	
}
}





