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

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

There is a newer version: 5.0.0-v20140602-0749
Show newest version
/*
 * Copyright (c) 2005, 2007 IBM Corporation 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
 *
 * $Id: InteractionOperand.java,v 1.11 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 'Interaction Operand'.
 * 
 *
 * 
 * An interaction operand is contained in a combined fragment. An interaction operand represents one operand of the expression given by the enclosing combined fragment.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.InteractionOperand#getGuard Guard}
  • *
  • {@link org.eclipse.uml2.uml.InteractionOperand#getFragments Fragment}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getInteractionOperand() * @model * @generated */ public interface InteractionOperand extends Namespace, InteractionFragment { /** * Returns the value of the 'Guard' containment reference. *

* This feature subsets the following features: *

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

* * * * Constraint of the operand. * * @return the value of the 'Guard' containment reference. * @see #setGuard(InteractionConstraint) * @see org.eclipse.uml2.uml.UMLPackage#getInteractionOperand_Guard() * @model containment="true" resolveProxies="true" ordered="false" * @generated */ InteractionConstraint getGuard(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.InteractionOperand#getGuard Guard}' containment reference. * * * @param value the new value of the 'Guard' containment reference. * @see #getGuard() * @generated */ void setGuard(InteractionConstraint value); /** * Creates a new {@link org.eclipse.uml2.uml.InteractionConstraint},with the specified 'Name', and sets the 'Guard' containment reference. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.InteractionConstraint}, or null. * @return The new {@link org.eclipse.uml2.uml.InteractionConstraint}. * @see #getGuard() * @generated */ InteractionConstraint createGuard(String name); /** * Returns the value of the 'Fragment' containment reference list. * The list contents are of type {@link org.eclipse.uml2.uml.InteractionFragment}. * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.InteractionFragment#getEnclosingOperand Enclosing Operand}'. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() Owned Member}'
  • *
*

* * * * The fragments of the operand. * * @return the value of the 'Fragment' containment reference list. * @see org.eclipse.uml2.uml.UMLPackage#getInteractionOperand_Fragment() * @see org.eclipse.uml2.uml.InteractionFragment#getEnclosingOperand * @model opposite="enclosingOperand" containment="true" resolveProxies="true" * @generated */ EList getFragments(); /** * Creates a new {@link org.eclipse.uml2.uml.InteractionFragment}, with the specified 'Name', and appends it to the 'Fragment' containment reference list. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.InteractionFragment}, or null. * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.InteractionFragment} to create. * @return The new {@link org.eclipse.uml2.uml.InteractionFragment}. * @see #getFragments() * @generated */ InteractionFragment createFragment(String name, EClass eClass); /** * Retrieves the first {@link org.eclipse.uml2.uml.InteractionFragment} with the specified 'Name' from the 'Fragment' containment reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.InteractionFragment} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.InteractionFragment} with the specified 'Name', or null. * @see #getFragments() * @generated */ InteractionFragment getFragment(String name); /** * Retrieves the first {@link org.eclipse.uml2.uml.InteractionFragment} with the specified 'Name' from the 'Fragment' containment reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.InteractionFragment} 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.InteractionFragment} to retrieve, or null. * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.InteractionFragment} on demand if not found. * @return The first {@link org.eclipse.uml2.uml.InteractionFragment} with the specified 'Name', or null. * @see #getFragments() * @generated */ InteractionFragment getFragment(String name, boolean ignoreCase, EClass eClass, boolean createOnDemand); /** * * * * The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand. * 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 validateGuardDirectlyPrior(DiagnosticChain diagnostics, Map context); /** * * * * The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction. * 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 validateGuardContainReferences(DiagnosticChain diagnostics, Map context); } // InteractionOperand




© 2015 - 2024 Weber Informatics LLC | Privacy Policy