/* * 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: DurationObservation.java,v 1.8 2007/06/12 12:53:16 khussey 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 'Duration Observation'. * * * * A duration observation is a reference to a duration during an execution. It points out the element(s) in the model to observe and whether the observations are when this model element is entered or when it is exited. * * *

* The following features are supported: *

*

* * @see org.eclipse.uml2.uml.UMLPackage#getDurationObservation() * @model * @generated */ public interface DurationObservation extends Observation { /** * Returns the value of the 'Event' reference list. * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}. * * * * The observation is determined by the entering or exiting of the event element during execution. * * @return the value of the 'Event' reference list. * @see org.eclipse.uml2.uml.UMLPackage#getDurationObservation_Event() * @model required="true" upper="2" ordered="false" * @generated */ EList getEvents(); /** * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name' from the 'Event' reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name', or null. * @see #getEvents() * @generated */ NamedElement getEvent(String name); /** * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name' from the 'Event' reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.NamedElement} 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.NamedElement} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name', or null. * @see #getEvents() * @generated */ NamedElement getEvent(String name, boolean ignoreCase, EClass eClass); /** * Returns the value of the 'First Event' attribute list. * The list contents are of type {@link java.lang.Boolean}. * * * * The value of firstEvent[i] is related to event[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters event[i]. If firstEvent[i] is false, then the corresponding observation event is the time instant the execution exits event[i]. Default value is true applied when event[i] refers an element that represents only one time instant. * * @return the value of the 'First Event' attribute list. * @see org.eclipse.uml2.uml.UMLPackage#getDurationObservation_FirstEvent() * @model default="true" dataType="org.eclipse.uml2.uml.Boolean" upper="2" ordered="false" * @generated */ EList getFirstEvents(); /** * * * * The multiplicity of firstEvent must be 2 if the multiplicity of event is 2. Otherwise the multiplicity of firstEvent is 0. * if (event->size() = 2) * then (firstEvent->size() = 2) else (firstEvent->size() = 0) * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateFirstEventMultiplicity(DiagnosticChain diagnostics, Map context); } // DurationObservation