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

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

There is a newer version: 5.0.0-v20140602-0749
Show newest version
/*
 * Copyright (c) 2005, 2011 IBM Corporation, CEA, 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 (CEA) - 327039
 *
 * $Id: LinkAction.java,v 1.10 2007/10/23 15:54:22 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 'Link Action'.
 * 
 *
 * 
 * LinkAction is an abstract class for all link actions that identify their links by the objects at the ends of the links and by the qualifiers at ends of the links.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.LinkAction#getEndData End Data}
  • *
  • {@link org.eclipse.uml2.uml.LinkAction#getInputValues Input Value}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getLinkAction() * @model abstract="true" * @generated */ public interface LinkAction extends Action { /** * Returns the value of the 'End Data' containment reference list. * The list contents are of type {@link org.eclipse.uml2.uml.LinkEndData}. *

* This feature subsets the following features: *

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

* * * * Data identifying one end of a link by the objects on its ends and qualifiers. * * @return the value of the 'End Data' containment reference list. * @see org.eclipse.uml2.uml.UMLPackage#getLinkAction_EndData() * @model containment="true" resolveProxies="true" lower="2" ordered="false" * @generated */ EList getEndData(); /** * Creates a new {@link org.eclipse.uml2.uml.LinkEndData} and appends it to the 'End Data' containment reference list. * * * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.LinkEndData} to create. * @return The new {@link org.eclipse.uml2.uml.LinkEndData}. * @see #getEndData() * @generated */ LinkEndData createEndData(EClass eClass); /** * Creates a new {@link org.eclipse.uml2.uml.LinkEndData} and appends it to the 'End Data' containment reference list. * * * @return The new {@link org.eclipse.uml2.uml.LinkEndData}. * @see #getEndData() * @generated */ LinkEndData createEndData(); /** * Returns the value of the 'Input Value' containment reference list. * The list contents are of type {@link org.eclipse.uml2.uml.InputPin}. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Action#getInputs() Input}'
  • *
*

* * * * Pins taking end objects and qualifier values as input. * * @return the value of the 'Input Value' containment reference list. * @see org.eclipse.uml2.uml.UMLPackage#getLinkAction_InputValue() * @model containment="true" resolveProxies="true" required="true" ordered="false" * @generated */ EList getInputValues(); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin}, with the specified 'Name', and 'Type', and appends it to the 'Input Value' containment reference list. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.InputPin} to create. * @return The new {@link org.eclipse.uml2.uml.InputPin}. * @see #getInputValues() * @generated */ InputPin createInputValue(String name, Type type, EClass eClass); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin}, with the specified 'Name', and 'Type', and appends it to the 'Input Value' containment reference list. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @return The new {@link org.eclipse.uml2.uml.InputPin}. * @see #getInputValues() * @generated */ InputPin createInputValue(String name, Type type); /** * Retrieves the first {@link org.eclipse.uml2.uml.InputPin} with the specified 'Name', and 'Type' from the 'Input Value' containment reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.InputPin} to retrieve, or null. * @param type The 'Type' of the {@link org.eclipse.uml2.uml.InputPin} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.InputPin} with the specified 'Name', and 'Type', or null. * @see #getInputValues() * @generated */ InputPin getInputValue(String name, Type type); /** * Retrieves the first {@link org.eclipse.uml2.uml.InputPin} with the specified 'Name', and 'Type' from the 'Input Value' containment reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.InputPin} to retrieve, or null. * @param type The 'Type' of the {@link org.eclipse.uml2.uml.InputPin} 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.InputPin} to retrieve, or null. * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.InputPin} on demand if not found. * @return The first {@link org.eclipse.uml2.uml.InputPin} with the specified 'Name', and 'Type', or null. * @see #getInputValues() * @generated */ InputPin getInputValue(String name, Type type, boolean ignoreCase, EClass eClass, boolean createOnDemand); /** * * * * The association ends of the link end data must all be from the same association and include all and only the association ends of that association. * self.endData->collect(end) = self.association()->collect(connection)) * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateSameAssociation(DiagnosticChain diagnostics, Map context); /** * * * * The association ends of the link end data must not be static. * self.endData->forall(end.oclisKindOf(NavigableEnd) implies end.isStatic = #false * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateNotStatic(DiagnosticChain diagnostics, Map context); /** * * * * The input pins of the action are the same as the pins of the link end data and insertion pins. * self.input->asSet() = * let ledpins : Set = self.endData->collect(value) in * if self.oclIsKindOf(LinkEndCreationData) * then ledpins->union(self.endData.oclAsType(LinkEndCreationData).insertAt) * else ledpins * * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateSamePins(DiagnosticChain diagnostics, Map context); /** * * * * The association operates on LinkAction. It returns the association of the action. * result = self.endData->asSequence().first().end.association * * @model required="true" ordered="false" * @generated */ Association association(); } // LinkAction




© 2015 - 2024 Weber Informatics LLC | Privacy Policy