Arrow.java

package algorithmen.umleditor;

import java.awt.*;

/**
 * Beschreibt einen Pfeil zwischen zwei UmlElement's.
 */
public class Arrow extends UmlElement {
  
  protected ArrowType type;
  protected UmlElement sender;      // Objekt, an dem der Pfeil beginnt
  protected UmlElement receiver;    // Objekt, an dem der Pfeil endet
  
  public Arrow(UmlElement send, UmlElement recv, ArrowType t) {
    super("");
    sender = send;
    receiver = recv;
    type = t;
  }
  
  public Arrow(UmlElement send, UmlElement recv) {
    this(send, recv, ArrowType.REFERENCE);
  }

  /**
   * Gibt das Sender-Objekt des Pfeils zurück.
   */
  public UmlElement getSender() {
    return sender;
  }
  
  /**
   * Setzt das Sender-Objekt des Pfeils.
   */
  public void setSender(UmlElement s) {
    sender = s;
  }
  
  /**
   * Gibt das Receiver-Objekt des Pfeils zurück.
   */
  public UmlElement getReceiver() {
    return receiver;
  }
  
  /**
   * Setzt das Receiver-Objekt des Pfeils.
   */
  public void setReceiver(UmlElement r) {
    receiver = r;
  }
  
  /**
   * Gibt den Pfeiltyp zurück.
   */
  public ArrowType getType() {
    return type; 
  }

  /**
   * Setzt den Pfeiltyp.
   */
  public void setType(ArrowType t) {
    type = t; 
  }
}