org.eclipse.uml2.uml.Class Maven / Gradle / Ivy
/*
* Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, 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 (Embarcadero Technologies) - 205188
*
* $Id: Class.java,v 1.18 2008/01/09 18:56:03 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 'Class'.
*
*
*
* A class describes a set of objects that share the same specifications of features, constraints, and semantics.
* A class may be designated as active (i.e., each of its instances having its own thread of control) or passive (i.e., each of its instances executing within the context of some other object). A class may also specify which signals the instances of this class handle.
* A class has the capability to have an internal structure and ports.
* Class has derived association that indicates how it may be extended through one or more stereotypes. Stereotype is the only kind of metaclass that cannot be extended by stereotypes.
*
*
*
* The following features are supported:
*
* - {@link org.eclipse.uml2.uml.Class#getNestedClassifiers Nested Classifier}
* - {@link org.eclipse.uml2.uml.Class#getOwnedOperations Owned Operation}
* - {@link org.eclipse.uml2.uml.Class#getSuperClasses Super Class}
* - {@link org.eclipse.uml2.uml.Class#isActive Is Active}
* - {@link org.eclipse.uml2.uml.Class#getOwnedReceptions Owned Reception}
* - {@link org.eclipse.uml2.uml.Class#getExtensions Extension}
*
*
*
* @see org.eclipse.uml2.uml.UMLPackage#getClass_()
* @model
* @generated
*/
public interface Class
extends EncapsulatedClassifier, BehavioredClassifier {
/**
* Returns the value of the 'Owned Operation' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Operation}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Operation#getClass_ Class}'.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Classifier#getFeatures() Feature}'
* - '{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() Owned Member}'
*
*
*
*
*
* The operations owned by the class.
*
* @return the value of the 'Owned Operation' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClass_OwnedOperation()
* @see org.eclipse.uml2.uml.Operation#getClass_
* @model opposite="class" containment="true" resolveProxies="true"
* @generated
*/
EList getOwnedOperations();
/**
* Creates a new {@link org.eclipse.uml2.uml.Operation}, with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', and appends it to the 'Owned Operation' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.Operation}, or null
.
* @param ownedParameterNames The 'Owned Parameter Names' for the new {@link org.eclipse.uml2.uml.Operation}, or null
.
* @param ownedParameterTypes The 'Owned Parameter Types' for the new {@link org.eclipse.uml2.uml.Operation}, or null
.
* @return The new {@link org.eclipse.uml2.uml.Operation}.
* @see #getOwnedOperations()
* @generated
*/
Operation createOwnedOperation(String name,
EList ownedParameterNames, EList ownedParameterTypes);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Operation} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Owned Operation' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Operation} to retrieve, or null
.
* @param ownedParameterNames The 'Owned Parameter Names' of the {@link org.eclipse.uml2.uml.Operation} to retrieve, or null
.
* @param ownedParameterTypes The 'Owned Parameter Types' of the {@link org.eclipse.uml2.uml.Operation} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Operation} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or null
.
* @see #getOwnedOperations()
* @generated
*/
Operation getOwnedOperation(String name, EList ownedParameterNames,
EList ownedParameterTypes);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Operation} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Owned Operation' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Operation} to retrieve, or null
.
* @param ownedParameterNames The 'Owned Parameter Names' of the {@link org.eclipse.uml2.uml.Operation} to retrieve, or null
.
* @param ownedParameterTypes The 'Owned Parameter Types' of the {@link org.eclipse.uml2.uml.Operation} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.Operation} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.Operation} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or null
.
* @see #getOwnedOperations()
* @generated
*/
Operation getOwnedOperation(String name, EList ownedParameterNames,
EList ownedParameterTypes, boolean ignoreCase,
boolean createOnDemand);
/**
* Returns the value of the 'Nested Classifier' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Classifier}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() Owned Member}'
*
*
*
*
*
* References all the Classifiers that are defined (nested) within the Class.
*
* @return the value of the 'Nested Classifier' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClass_NestedClassifier()
* @model containment="true" resolveProxies="true"
* @generated
*/
EList getNestedClassifiers();
/**
* Creates a new {@link org.eclipse.uml2.uml.Classifier}, with the specified 'Name', and appends it to the 'Nested Classifier' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.Classifier}, or null
.
* @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Classifier} to create.
* @return The new {@link org.eclipse.uml2.uml.Classifier}.
* @see #getNestedClassifiers()
* @generated
*/
Classifier createNestedClassifier(String name, EClass eClass);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'Nested Classifier' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Classifier} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name', or null
.
* @see #getNestedClassifiers()
* @generated
*/
Classifier getNestedClassifier(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'Nested Classifier' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Classifier} 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.Classifier} to retrieve, or null
.
* @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.Classifier} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name', or null
.
* @see #getNestedClassifiers()
* @generated
*/
Classifier getNestedClassifier(String name, boolean ignoreCase,
EClass eClass, boolean createOnDemand);
/**
* Returns the value of the 'Super Class' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Class}.
*
* This feature redefines the following features:
*
* - '{@link org.eclipse.uml2.uml.Classifier#getGenerals() General}'
*
*
*
*
*
* This gives the superclasses of a class.
*
* @return the value of the 'Super Class' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClass_SuperClass()
* @model transient="true" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getSuperClasses();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Class} with the specified 'Name' from the 'Super Class' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Class} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Class} with the specified 'Name', or null
.
* @see #getSuperClasses()
* @generated
*/
Class getSuperClass(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Class} with the specified 'Name' from the 'Super Class' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Class} 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.Class} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Class} with the specified 'Name', or null
.
* @see #getSuperClasses()
* @generated
*/
Class getSuperClass(String name, boolean ignoreCase, EClass eClass);
/**
* Returns the value of the 'Is Active' attribute.
* The default value is "false"
.
*
*
*
* Determines whether an object specified by this class is active or not. If true, then the owning class is referred to as an active class. If false, then such a class is referred to as a passive class.
*
* @return the value of the 'Is Active' attribute.
* @see #setIsActive(boolean)
* @see org.eclipse.uml2.uml.UMLPackage#getClass_IsActive()
* @model default="false" dataType="org.eclipse.uml2.uml.Boolean" required="true" ordered="false"
* @generated
*/
boolean isActive();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Class#isActive Is Active}' attribute.
*
*
* @param value the new value of the 'Is Active' attribute.
* @see #isActive()
* @generated
*/
void setIsActive(boolean value);
/**
* Returns the value of the 'Owned Reception' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Reception}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() Owned Member}'
* - '{@link org.eclipse.uml2.uml.Classifier#getFeatures() Feature}'
*
*
*
*
*
* Receptions that objects of this class are willing to accept.
*
* @return the value of the 'Owned Reception' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClass_OwnedReception()
* @model containment="true" resolveProxies="true" ordered="false"
* @generated
*/
EList getOwnedReceptions();
/**
* Creates a new {@link org.eclipse.uml2.uml.Reception}, with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', and appends it to the 'Owned Reception' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.Reception}, or null
.
* @param ownedParameterNames The 'Owned Parameter Names' for the new {@link org.eclipse.uml2.uml.Reception}, or null
.
* @param ownedParameterTypes The 'Owned Parameter Types' for the new {@link org.eclipse.uml2.uml.Reception}, or null
.
* @return The new {@link org.eclipse.uml2.uml.Reception}.
* @see #getOwnedReceptions()
* @generated
*/
Reception createOwnedReception(String name,
EList ownedParameterNames, EList ownedParameterTypes);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Reception} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Owned Reception' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Reception} to retrieve, or null
.
* @param ownedParameterNames The 'Owned Parameter Names' of the {@link org.eclipse.uml2.uml.Reception} to retrieve, or null
.
* @param ownedParameterTypes The 'Owned Parameter Types' of the {@link org.eclipse.uml2.uml.Reception} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Reception} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or null
.
* @see #getOwnedReceptions()
* @generated
*/
Reception getOwnedReception(String name, EList ownedParameterNames,
EList ownedParameterTypes);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Reception} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types' from the 'Owned Reception' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Reception} to retrieve, or null
.
* @param ownedParameterNames The 'Owned Parameter Names' of the {@link org.eclipse.uml2.uml.Reception} to retrieve, or null
.
* @param ownedParameterTypes The 'Owned Parameter Types' of the {@link org.eclipse.uml2.uml.Reception} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.Reception} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.Reception} with the specified 'Name', 'Owned Parameter Names', and 'Owned Parameter Types', or null
.
* @see #getOwnedReceptions()
* @generated
*/
Reception getOwnedReception(String name, EList ownedParameterNames,
EList ownedParameterTypes, boolean ignoreCase,
boolean createOnDemand);
/**
* Returns the value of the 'Extension' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Extension}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Extension#getMetaclass Metaclass}'.
*
*
*
* References the Extensions that specify additional properties of the metaclass. The property is derived from the extensions whose memberEnds are typed by the Class.
*
* @return the value of the 'Extension' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClass_Extension()
* @see org.eclipse.uml2.uml.Extension#getMetaclass
* @model opposite="metaclass" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getExtensions();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Extension} with the specified 'Name' from the 'Extension' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Extension} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Extension} with the specified 'Name', or null
.
* @see #getExtensions()
* @generated
*/
Extension getExtension(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Extension} with the specified 'Name' from the 'Extension' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Extension} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @return The first {@link org.eclipse.uml2.uml.Extension} with the specified 'Name', or null
.
* @see #getExtensions()
* @generated
*/
Extension getExtension(String name, boolean ignoreCase);
/**
*
*
*
* A passive class may not own receptions.
* not self.isActive implies self.ownedReception.isEmpty()
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
*
* @model
* @generated
*/
boolean validatePassiveClass(DiagnosticChain diagnostics,
Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy