All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.uml2.uml.ActivityEdge Maven / Gradle / Ivy

/*
 * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   IBM - initial API and implementation
 *   Kenn Hussey (Embarcadero Technologies) - 205188
 *
 * $Id: ActivityEdge.java,v 1.20 2008/10/02 20:56:23 jbruck Exp $
 */
package org.eclipse.uml2.uml;

import java.util.Map;

import org.eclipse.emf.common.util.DiagnosticChain;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;

/**
 * 
 * A representation of the model object 'Activity Edge'.
 * 
 *
 * 
 * An activity edge is an abstract class for directed connections between two activity nodes.
 * Activity edges can be contained in interruptible regions.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getSource Source}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getTarget Target}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getRedefinedEdges Redefined Edge}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getInPartitions In Partition}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getGuard Guard}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getWeight Weight}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getInterrupts Interrupts}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getInStructuredNode In Structured Node}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getInGroups In Group}
  • *
  • {@link org.eclipse.uml2.uml.ActivityEdge#getActivity Activity}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge() * @model abstract="true" * @generated */ public interface ActivityEdge extends RedefinableElement { /** * Returns the value of the 'Activity' container reference. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Activity#getEdges Edge}'. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Element#getOwner() Owner}'
  • *
*

* * * * Activity containing the edge. * * @return the value of the 'Activity' container reference. * @see #setActivity(Activity) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_Activity() * @see org.eclipse.uml2.uml.Activity#getEdges * @model opposite="edge" transient="false" ordered="false" * @generated */ Activity getActivity(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getActivity Activity}' container reference. * * * @param value the new value of the 'Activity' container reference. * @see #getActivity() * @generated */ void setActivity(Activity value); /** * Returns the value of the 'In Group' reference list. * The list contents are of type {@link org.eclipse.uml2.uml.ActivityGroup}. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.ActivityGroup#getContainedEdges Contained Edge}'. * This feature is a derived union. * * * * Groups containing the edge. * * @return the value of the 'In Group' reference list. * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_InGroup() * @see org.eclipse.uml2.uml.ActivityGroup#getContainedEdges * @model opposite="containedEdge" transient="true" changeable="false" volatile="true" derived="true" ordered="false" * @generated */ EList getInGroups(); /** * Returns the value of the 'In Partition' reference list. * The list contents are of type {@link org.eclipse.uml2.uml.ActivityPartition}. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.ActivityPartition#getEdges Edge}'. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.ActivityEdge#getInGroups() In Group}'
  • *
*

* * * * Partitions containing the edge. * * @return the value of the 'In Partition' reference list. * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_InPartition() * @see org.eclipse.uml2.uml.ActivityPartition#getEdges * @model opposite="edge" ordered="false" * @generated */ EList getInPartitions(); /** * Retrieves the first {@link org.eclipse.uml2.uml.ActivityPartition} with the specified 'Name' from the 'In Partition' reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.ActivityPartition} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.ActivityPartition} with the specified 'Name', or null. * @see #getInPartitions() * @generated */ ActivityPartition getInPartition(String name); /** * Retrieves the first {@link org.eclipse.uml2.uml.ActivityPartition} with the specified 'Name' from the 'In Partition' reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.ActivityPartition} to retrieve, or null. * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons. * @return The first {@link org.eclipse.uml2.uml.ActivityPartition} with the specified 'Name', or null. * @see #getInPartitions() * @generated */ ActivityPartition getInPartition(String name, boolean ignoreCase); /** * Returns the value of the 'In Structured Node' container reference. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.StructuredActivityNode#getEdges Edge}'. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.ActivityEdge#getInGroups() In Group}'
  • *
*

* * * * Structured activity node containing the edge. * * @return the value of the 'In Structured Node' container reference. * @see #setInStructuredNode(StructuredActivityNode) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_InStructuredNode() * @see org.eclipse.uml2.uml.StructuredActivityNode#getEdges * @model opposite="edge" transient="false" ordered="false" * @generated */ StructuredActivityNode getInStructuredNode(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getInStructuredNode In Structured Node}' container reference. * * * @param value the new value of the 'In Structured Node' container reference. * @see #getInStructuredNode() * @generated */ void setInStructuredNode(StructuredActivityNode value); /** * Returns the value of the 'Target' reference. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.ActivityNode#getIncomings Incoming}'. * * * * Node to which tokens are put when they traverse the edge. * * @return the value of the 'Target' reference. * @see #setTarget(ActivityNode) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_Target() * @see org.eclipse.uml2.uml.ActivityNode#getIncomings * @model opposite="incoming" required="true" ordered="false" * @generated */ ActivityNode getTarget(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getTarget Target}' reference. * * * @param value the new value of the 'Target' reference. * @see #getTarget() * @generated */ void setTarget(ActivityNode value); /** * Returns the value of the 'Redefined Edge' reference list. * The list contents are of type {@link org.eclipse.uml2.uml.ActivityEdge}. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.RedefinableElement#getRedefinedElements() Redefined Element}'
  • *
*

* * * * Inherited edges replaced by this edge in a specialization of the activity. * * @return the value of the 'Redefined Edge' reference list. * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_RedefinedEdge() * @model ordered="false" * @generated */ EList getRedefinedEdges(); /** * Retrieves the first {@link org.eclipse.uml2.uml.ActivityEdge} with the specified 'Name' from the 'Redefined Edge' reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.ActivityEdge} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.ActivityEdge} with the specified 'Name', or null. * @see #getRedefinedEdges() * @generated */ ActivityEdge getRedefinedEdge(String name); /** * Retrieves the first {@link org.eclipse.uml2.uml.ActivityEdge} with the specified 'Name' from the 'Redefined Edge' reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.ActivityEdge} to retrieve, or null. * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons. * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityEdge} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.ActivityEdge} with the specified 'Name', or null. * @see #getRedefinedEdges() * @generated */ ActivityEdge getRedefinedEdge(String name, boolean ignoreCase, EClass eClass); /** * Returns the value of the 'Guard' containment reference. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
  • *
*

* * * * Specification evaluated at runtime to determine if the edge can be traversed. * * @return the value of the 'Guard' containment reference. * @see #setGuard(ValueSpecification) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_Guard() * @model containment="true" resolveProxies="true" required="true" ordered="false" * @generated */ ValueSpecification getGuard(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getGuard Guard}' containment reference. * * * @param value the new value of the 'Guard' containment reference. * @see #getGuard() * @generated */ void setGuard(ValueSpecification value); /** * Creates a new {@link org.eclipse.uml2.uml.ValueSpecification}, with the specified 'Name', and 'Type', and sets the 'Guard' containment reference. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.ValueSpecification}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.ValueSpecification}, or null. * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ValueSpecification} to create. * @return The new {@link org.eclipse.uml2.uml.ValueSpecification}. * @see #getGuard() * @generated */ ValueSpecification createGuard(String name, Type type, EClass eClass); /** * Returns the value of the 'Weight' containment reference. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
  • *
*

* * * * The minimum number of tokens that must traverse the edge at the same time. * * @return the value of the 'Weight' containment reference. * @see #setWeight(ValueSpecification) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_Weight() * @model containment="true" resolveProxies="true" required="true" ordered="false" * @generated */ ValueSpecification getWeight(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getWeight Weight}' containment reference. * * * @param value the new value of the 'Weight' containment reference. * @see #getWeight() * @generated */ void setWeight(ValueSpecification value); /** * Creates a new {@link org.eclipse.uml2.uml.ValueSpecification}, with the specified 'Name', and 'Type', and sets the 'Weight' containment reference. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.ValueSpecification}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.ValueSpecification}, or null. * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ValueSpecification} to create. * @return The new {@link org.eclipse.uml2.uml.ValueSpecification}. * @see #getWeight() * @generated */ ValueSpecification createWeight(String name, Type type, EClass eClass); /** * Returns the value of the 'Interrupts' reference. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.InterruptibleActivityRegion#getInterruptingEdges Interrupting Edge}'. * * * * Region that the edge can interrupt. * * @return the value of the 'Interrupts' reference. * @see #setInterrupts(InterruptibleActivityRegion) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_Interrupts() * @see org.eclipse.uml2.uml.InterruptibleActivityRegion#getInterruptingEdges * @model opposite="interruptingEdge" ordered="false" * @generated */ InterruptibleActivityRegion getInterrupts(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getInterrupts Interrupts}' reference. * * * @param value the new value of the 'Interrupts' reference. * @see #getInterrupts() * @generated */ void setInterrupts(InterruptibleActivityRegion value); /** * Returns the value of the 'Source' reference. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.ActivityNode#getOutgoings Outgoing}'. * * * * Node from which tokens are taken when they traverse the edge. * * @return the value of the 'Source' reference. * @see #setSource(ActivityNode) * @see org.eclipse.uml2.uml.UMLPackage#getActivityEdge_Source() * @see org.eclipse.uml2.uml.ActivityNode#getOutgoings * @model opposite="outgoing" required="true" ordered="false" * @generated */ ActivityNode getSource(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityEdge#getSource Source}' reference. * * * @param value the new value of the 'Source' reference. * @see #getSource() * @generated */ void setSource(ActivityNode value); /** * * * * The source and target of an edge must be in the same activity as the edge. * true * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateSourceAndTarget(DiagnosticChain diagnostics, Map context); /** * * * * Activity edges may be owned only by activities or groups. * true * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateOwned(DiagnosticChain diagnostics, Map context); /** * * * * Activity edges may be owned by at most one structured node. * true * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateStructuredNode(DiagnosticChain diagnostics, Map context); } // ActivityEdge




© 2015 - 2025 Weber Informatics LLC | Privacy Policy