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

org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction 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: RemoveStructuralFeatureValueAction.java,v 1.11 2007/10/23 15:54:23 jbruck Exp $
 */
package org.eclipse.uml2.uml;

import java.util.Map;

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

import org.eclipse.emf.ecore.EClass;

/**
 * 
 * A representation of the model object 'Remove Structural Feature Value Action'.
 * 
 *
 * 
 * A remove structural feature value action is a write structural feature action that removes values from structural features.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction#isRemoveDuplicates Is Remove Duplicates}
  • *
  • {@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction#getRemoveAt Remove At}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getRemoveStructuralFeatureValueAction() * @model * @generated */ public interface RemoveStructuralFeatureValueAction extends WriteStructuralFeatureAction { /** * Returns the value of the 'Is Remove Duplicates' attribute. * The default value is "false". * * * * Specifies whether to remove duplicates of the value in nonunique structural features. * * @return the value of the 'Is Remove Duplicates' attribute. * @see #setIsRemoveDuplicates(boolean) * @see org.eclipse.uml2.uml.UMLPackage#getRemoveStructuralFeatureValueAction_IsRemoveDuplicates() * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" * @generated */ boolean isRemoveDuplicates(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction#isRemoveDuplicates Is Remove Duplicates}' attribute. * * * @param value the new value of the 'Is Remove Duplicates' attribute. * @see #isRemoveDuplicates() * @generated */ void setIsRemoveDuplicates(boolean value); /** * Returns the value of the 'Remove At' containment reference. *

* This feature subsets the following features: *

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

* * * * Specifies the position of an existing value to remove in ordered nonunique structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited. * * @return the value of the 'Remove At' containment reference. * @see #setRemoveAt(InputPin) * @see org.eclipse.uml2.uml.UMLPackage#getRemoveStructuralFeatureValueAction_RemoveAt() * @model containment="true" resolveProxies="true" ordered="false" * @generated */ InputPin getRemoveAt(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.RemoveStructuralFeatureValueAction#getRemoveAt Remove At}' containment reference. * * * @param value the new value of the 'Remove At' containment reference. * @see #getRemoveAt() * @generated */ void setRemoveAt(InputPin value); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin}, with the specified 'Name', and 'Type', and sets the 'Remove At' containment reference. * * * @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 #getRemoveAt() * @generated */ InputPin createRemoveAt(String name, Type type, EClass eClass); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin},with the specified 'Name', and 'Type', and sets the 'Remove At' containment reference. * * * @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 #getRemoveAt() * @generated */ InputPin createRemoveAt(String name, Type type); /** * * * * Actions removing a value from ordered non-unique structural features must have a single removeAt input pin and no value input pin if isRemoveDuplicates is false. The removeAt pin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the action has a value input pin and no removeAt input pin. * if not self.structuralFeature.isOrdered or self.structuralFeature.isUnique or isRemoveDuplicates then * self.removeAt -> isEmpty() and self.value -> notEmpty() * else * self.value -> isEmpty() and * self.removeAt -> notEmpty() and * self.removeAt.type = UnlimitedNatural and * self.removeAt.lower = 1 and * self.removeAt.upper = 1 * endif * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateNonUniqueRemoval(DiagnosticChain diagnostics, Map context); } // RemoveStructuralFeatureValueAction




© 2015 - 2025 Weber Informatics LLC | Privacy Policy