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

org.eclipse.ocl.expressions.MessageExp Maven / Gradle / Ivy

/**
 * 
 * 
 * Copyright (c) 2006, 2008 IBM Corporation, Zeligsoft Inc., 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
 *   Zeligsoft - Bug 207365
 * 
 * 
 *
 * $Id: MessageExp.java,v 1.8 2009/12/22 18:53:30 ewillink Exp $
 */
package org.eclipse.ocl.expressions;

import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.ocl.utilities.CallingASTNode;

/**
 * 
 * A representation of the model object 'Message Exp'.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.ocl.expressions.MessageExp#getTarget Target}
  • *
  • {@link org.eclipse.ocl.expressions.MessageExp#getArgument Argument}
  • *
  • {@link org.eclipse.ocl.expressions.MessageExp#getCalledOperation Called Operation}
  • *
  • {@link org.eclipse.ocl.expressions.MessageExp#getSentSignal Sent Signal}
  • *
*

* * @see org.eclipse.ocl.expressions.ExpressionsPackage#getMessageExp() * @model * @generated */ public interface MessageExp extends OCLExpression, CallingASTNode { /** * Returns the value of the 'Target' containment reference. * *

* If the meaning of the 'Target' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Target' containment reference. * @see #setTarget(OCLExpression) * @see org.eclipse.ocl.expressions.ExpressionsPackage#getMessageExp_Target() * @model containment="true" * @generated */ OCLExpression getTarget(); /** * Sets the value of the '{@link org.eclipse.ocl.expressions.MessageExp#getTarget Target}' containment reference. * * * @param value the new value of the 'Target' containment reference. * @see #getTarget() * @generated */ void setTarget(OCLExpression value); /** * Returns the value of the 'Argument' containment reference list. * The list contents are of type {@link org.eclipse.ocl.expressions.OCLExpression}<C>. * *

* If the meaning of the 'Argument' containment reference list isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Argument' containment reference list. * @see org.eclipse.ocl.expressions.ExpressionsPackage#getMessageExp_Argument() * @model containment="true" * @generated */ EList> getArgument(); /** * Returns the value of the 'Called Operation' containment reference. * *

* If the meaning of the 'Called Operation' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Called Operation' containment reference. * @see #setCalledOperation(Object) * @see org.eclipse.ocl.expressions.ExpressionsPackage#getMessageExp_CalledOperation() * @model kind="reference" containment="true" * @generated */ COA getCalledOperation(); /** * Sets the value of the '{@link org.eclipse.ocl.expressions.MessageExp#getCalledOperation Called Operation}' containment reference. * * * @param value the new value of the 'Called Operation' containment reference. * @see #getCalledOperation() * @generated */ void setCalledOperation(COA value); /** * Returns the value of the 'Sent Signal' containment reference. * *

* If the meaning of the 'Sent Signal' containment reference isn't clear, * there really should be more of a description here... *

* * @return the value of the 'Sent Signal' containment reference. * @see #setSentSignal(Object) * @see org.eclipse.ocl.expressions.ExpressionsPackage#getMessageExp_SentSignal() * @model kind="reference" containment="true" * @generated */ SSA getSentSignal(); /** * Sets the value of the '{@link org.eclipse.ocl.expressions.MessageExp#getSentSignal Sent Signal}' containment reference. * * * @param value the new value of the 'Sent Signal' containment reference. * @see #getSentSignal() * @generated */ void setSentSignal(SSA value); /** * * * * calledOperation->notEmpty() implies * argument->forall (a | a.type.conformsTo * (self.calledOperation.operation.ownedParameter-> * select( kind = ParameterDirectionKind::in ) * ->at (argument->indexOf (a)).type)) * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean checkOperationArguments(DiagnosticChain diagnostics, Map context); /** * * * * sentSignal->notEmpty() implies * argument->forall (a | a.type.conformsTo * (self.sentSignal.signal.ownedAttribute * ->at (argument->indexOf (a)).type)) * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean checkSignalArguments(DiagnosticChain diagnostics, Map context); /** * * * * calledOperation->notEmpty() implies * target.type.allOperations()->includes(calledOperation.operation) * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean checkTargetDefinesOperation(DiagnosticChain diagnostics, Map context); /** * * * * calledOperation->size() + sentSignal->size() = 1 * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean checkHasOperationOrSignal(DiagnosticChain diagnostics, Map context); /** * * * * not target.type.oclIsKindOf(CollectionType) * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean checkTargetNotCollection(DiagnosticChain diagnostics, Map context); } // MessageExp




© 2015 - 2024 Weber Informatics LLC | Privacy Policy