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

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

/*
 * Copyright (c) 2005, 2014 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, 351774, 418466
 *   Christian W. Damus (CEA) - 251963
 *
 */
package org.eclipse.uml2.uml;

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

import org.eclipse.emf.ecore.EClass;

/**
 * 
 * A representation of the model object 'Expression'.
 * 
 *
 * 
 * An Expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands that are ValueSpecifications. It denotes a (possibly empty) set of values when evaluated in a context.
 * 

From package UML::Values.

* * *

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.Expression#getOperands Operand}
  • *
  • {@link org.eclipse.uml2.uml.Expression#getSymbol Symbol}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getExpression() * @model * @generated */ public interface Expression extends ValueSpecification { /** * Returns the value of the 'Symbol' attribute. * * * * The symbol associated with this node in the expression tree. *

From package UML::Values.

* * @return the value of the 'Symbol' attribute. * @see #isSetSymbol() * @see #unsetSymbol() * @see #setSymbol(String) * @see org.eclipse.uml2.uml.UMLPackage#getExpression_Symbol() * @model unsettable="true" dataType="org.eclipse.uml2.types.String" ordered="false" * @generated */ String getSymbol(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.Expression#getSymbol Symbol}' attribute. * * * @param value the new value of the 'Symbol' attribute. * @see #isSetSymbol() * @see #unsetSymbol() * @see #getSymbol() * @generated */ void setSymbol(String value); /** * Unsets the value of the '{@link org.eclipse.uml2.uml.Expression#getSymbol Symbol}' attribute. * * * @see #isSetSymbol() * @see #getSymbol() * @see #setSymbol(String) * @generated */ void unsetSymbol(); /** * Returns whether the value of the '{@link org.eclipse.uml2.uml.Expression#getSymbol Symbol}' attribute is set. * * * @return whether the value of the 'Symbol' attribute is set. * @see #unsetSymbol() * @see #getSymbol() * @see #setSymbol(String) * @generated */ boolean isSetSymbol(); /** * Returns the value of the 'Operand' containment reference list. * The list contents are of type {@link org.eclipse.uml2.uml.ValueSpecification}. *

* This feature subsets the following features: *

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

* * * * Specifies a sequence of operand ValueSpecifications. *

From package UML::Values.

* * @return the value of the 'Operand' containment reference list. * @see org.eclipse.uml2.uml.UMLPackage#getExpression_Operand() * @model containment="true" resolveProxies="true" * @generated */ EList getOperands(); /** * Creates a new {@link org.eclipse.uml2.uml.ValueSpecification}, with the specified 'Name', and 'Type', and appends it to the 'Operand' containment reference list. * * * @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 #getOperands() * @generated */ ValueSpecification createOperand(String name, Type type, EClass eClass); /** * Retrieves the first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type' from the 'Operand' containment reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null. * @param type The 'Type' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null. * @return The first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type', or null. * @see #getOperands() * @generated */ ValueSpecification getOperand(String name, Type type); /** * Retrieves the first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type' from the 'Operand' containment reference list. * * * @param name The 'Name' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null. * @param type The 'Type' of the {@link org.eclipse.uml2.uml.ValueSpecification} 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.ValueSpecification} to retrieve, or null. * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.ValueSpecification} on demand if not found. * @return The first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type', or null. * @see #getOperands() * @generated */ ValueSpecification getOperand(String name, Type type, boolean ignoreCase, EClass eClass, boolean createOnDemand); } // Expression




© 2015 - 2025 Weber Informatics LLC | Privacy Policy