FileDocCategorySizeDatePackage
UMLAssociation.javaAPI DocExample3427Tue Dec 08 01:21:00 GMT 1998oisoft.togetherx.scriptapi.UML

UMLAssociation.java

/*----------------------------------------------------------------------------
Copyright © 1998 Object International Software GmbH
----------------------------------------------------------------------------*/
package oisoft.togetherx.scriptapi.UML;


//------------------------------------------------------------------------------
/**
 * Presents Association link.
 * Here an association is a connection between two classifiers
 * in class diagram. An association represents
 * that objects of two classes have a link between
 * them, meaning for example,  that they
 * "know about each other", "are connected to",
 * etc.
 * There are three kind of association - simple
 * association, aggregation and composition.
 * Use <i>getLinkKind()</i> inherited from <i>UMLLink</i> 
 * to check link kind.
 * An association consists of at least two
 * association end, each of them represents a
 * connection of the association to the corresponding 
 * classifier.
 * Some information about association
 * you can get from base interface.
 * Use <i>UMLElement.getName()</i> for getting association
 * label.
 * @version  2.1.01  12.03.1998
 * @author   Andrei Ivanov
 * @see UMLAssociationEnd
 * @see UMLClassifier
 * @see UMLElement
 */
public interface UMLAssociation extends UMLLink {
  /**
  @clientCardinality 1
  @supplierCardinality 2
  */
  /*#  UMLAssociationEnd lnkUnnamed*/

  public static final String   ASSOCIATION_STEREOTYPE = "<<association>>";
  public static final String   PARAMETER_STEREOTYPE   = "<<parameter>>";
  public static final String   LOCAL_STEREOTYPE       = "<<local>>";
  public static final String   GLOBAL_STEREOTYPE      = "<<global>>";
  public static final String   SELF_STEREOTYPE        = "<<self>>";

  /**
   * Returns association stereotype of the
   * association. Indicate kind of implementation.
   * @return One of the string constants.
   * @see UMLAssociation#ASSOCIATION_STEREOTYPE
   * @see UMLAssociation#PARAMETER_STEREOTYPE
   * @see UMLAssociation#LOCAL_STEREOTYPE
   * @see UMLAssociation#GLOBAL_STEREOTYPE
   * @see UMLAssociation#SELF_STEREOTYPE
   */
  String                getImplementationStereotype();

  /**
   * Returns attribute which implements
   * this association.
   */
  UMLAttribute          getAttribute();

  /**
   * Returns source of association as
   * classifier.
   */
  UMLClassifier         getSource();

  /**
   * Returns destination of association
   * as classifier.
   */
  UMLClassifier         getDest();

  /**
   * Returns association end representing
   * connection of the association to the source
   * classifier.
   * @see UMLClassifier
   */
  UMLAssociationEnd     getSourceAssociationEnd();


  /**
   * Returns association end representing
   * connection of the association to the destination
   * classifier.
   * @see UMLClassifier
   */
  UMLAssociationEnd     getDestAssociationEnd();

  /**
   * Returns Association class that represents this 
   * association.
   * Association class is an association
   * that is also a class. In the UML
   * metamodel association class is a
   * declaration of a semantic relationship
   * between classifier which has a set of
   * features of its own.
   */
  UMLClass     getAssociationClass();
}
//------------------------------------------------------------------------------