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

org.eclipse.uml2.uml.StructuralFeatureAction 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: StructuralFeatureAction.java,v 1.9 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.ecore.EClass;

/**
 * 
 * A representation of the model object 'Structural Feature Action'.
 * 
 *
 * 
 * StructuralFeatureAction is an abstract class for all structural feature actions.
 * 
 *
 * 

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.StructuralFeatureAction#getObject Object}
  • *
  • {@link org.eclipse.uml2.uml.StructuralFeatureAction#getStructuralFeature Structural Feature}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getStructuralFeatureAction() * @model abstract="true" * @generated */ public interface StructuralFeatureAction extends Action { /** * Returns the value of the 'Structural Feature' reference. * * * * Structural feature to be read. * * @return the value of the 'Structural Feature' reference. * @see #setStructuralFeature(StructuralFeature) * @see org.eclipse.uml2.uml.UMLPackage#getStructuralFeatureAction_StructuralFeature() * @model required="true" ordered="false" * @generated */ StructuralFeature getStructuralFeature(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.StructuralFeatureAction#getStructuralFeature Structural Feature}' reference. * * * @param value the new value of the 'Structural Feature' reference. * @see #getStructuralFeature() * @generated */ void setStructuralFeature(StructuralFeature value); /** * Returns the value of the 'Object' containment reference. *

* This feature subsets the following features: *

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

* * * * Gives the input pin from which the object whose structural feature is to be read or written is obtained. * * @return the value of the 'Object' containment reference. * @see #setObject(InputPin) * @see org.eclipse.uml2.uml.UMLPackage#getStructuralFeatureAction_Object() * @model containment="true" resolveProxies="true" required="true" ordered="false" * @generated */ InputPin getObject(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.StructuralFeatureAction#getObject Object}' containment reference. * * * @param value the new value of the 'Object' containment reference. * @see #getObject() * @generated */ void setObject(InputPin value); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin}, with the specified 'Name', and 'Type', and sets the 'Object' 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 #getObject() * @generated */ InputPin createObject(String name, Type type, EClass eClass); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin},with the specified 'Name', and 'Type', and sets the 'Object' 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 #getObject() * @generated */ InputPin createObject(String name, Type type); /** * * * * The structural feature must not be static. * self.structuralFeature.isStatic = #false * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateNotStatic(DiagnosticChain diagnostics, Map context); /** * * * * The structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary association with the type of the opposite end being the type of the object input pin. * self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or * self.structuralFeature.oclAsType(Property).opposite.type = self.object.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 validateSameType(DiagnosticChain diagnostics, Map context); /** * * * * The multiplicity of the object input pin must be 1..1. * self.object.lowerBound()=1 and self.object.upperBound()=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 validateMultiplicity(DiagnosticChain diagnostics, Map context); /** * * * * Visibility of structural feature must allow access to the object performing the action. * let host : Classifier = self.context in * self.structuralFeature.visibility = #public * or host = self.structuralFeature.featuringClassifier.type * or (self.structuralFeature.visibility = #protected and host.allSupertypes * ->includes(self.structuralFeature.featuringClassifier.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 validateVisibility(DiagnosticChain diagnostics, Map context); /** * * * * A structural feature has exactly one featuringClassifier. * self.structuralFeature.featuringClassifier->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 validateOneFeaturingClassifier(DiagnosticChain diagnostics, Map context); } // StructuralFeatureAction




© 2015 - 2024 Weber Informatics LLC | Privacy Policy