package edu.neu.ccs.demeter.aplib;

/** An edge in a class graph. */
public interface EdgeI {
  /** The source node of the edge. */
  Object getSource();
  /** The target node of the edge. */
  Object getTarget();
  /** The label of the edge, or null if it is not a construction edge. */
  String getLabel();
  /** Is the edge a construction (part) edge? */
  boolean isConstructionEdge();
  /** Is the edge an alternation (subclass) edge? */
  boolean isAlternationEdge();
  /** Is the edge an inheritance (superclass) edge? */
  boolean isInheritanceEdge();
}

