org.eclipse.uml2.uml.Classifier Maven / Gradle / Ivy
/*
* Copyright (c) 2005, 2012 IBM Corporation, Embarcadero Technologies, 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 (Embarcadero Technologies) - 205188
* Kenn Hussey (CEA) - 327039, 351774, 384071
*
*/
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 'Classifier'.
*
*
*
* A classifier is a classification of instances - it describes a set of instances that have features in common. A classifier can specify a generalization hierarchy by referencing its general classifiers.
* A classifier has the capability to own use cases. Although the owning classifier typically represents the subject to which the owned use cases apply, this is not necessarily the case. In principle, the same use case can be applied to multiple subjects, as identified by the subject association role of a use case.
* Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.
* A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.
*
*
*
* The following features are supported:
*
* - {@link org.eclipse.uml2.uml.Classifier#getFeatures Feature}
* - {@link org.eclipse.uml2.uml.Classifier#getAttributes Attribute}
* - {@link org.eclipse.uml2.uml.Classifier#getCollaborationUses Collaboration Use}
* - {@link org.eclipse.uml2.uml.Classifier#getGenerals General}
* - {@link org.eclipse.uml2.uml.Classifier#getGeneralizations Generalization}
* - {@link org.eclipse.uml2.uml.Classifier#getPowertypeExtents Powertype Extent}
* - {@link org.eclipse.uml2.uml.Classifier#getInheritedMembers Inherited Member}
* - {@link org.eclipse.uml2.uml.Classifier#isAbstract Is Abstract}
* - {@link org.eclipse.uml2.uml.Classifier#isFinalSpecialization Is Final Specialization}
* - {@link org.eclipse.uml2.uml.Classifier#getOwnedUseCases Owned Use Case}
* - {@link org.eclipse.uml2.uml.Classifier#getUseCases Use Case}
* - {@link org.eclipse.uml2.uml.Classifier#getRedefinedClassifiers Redefined Classifier}
* - {@link org.eclipse.uml2.uml.Classifier#getRepresentation Representation}
* - {@link org.eclipse.uml2.uml.Classifier#getSubstitutions Substitution}
*
*
*
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier()
* @model abstract="true"
* @generated
*/
public interface Classifier
extends Namespace, RedefinableElement, Type, TemplateableElement {
/**
* Returns the value of the 'Is Abstract' attribute.
* The default value is "false"
.
*
*
*
* If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships.
*
* @return the value of the 'Is Abstract' attribute.
* @see #setIsAbstract(boolean)
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_IsAbstract()
* @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
* @generated
*/
boolean isAbstract();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Classifier#isAbstract Is Abstract}' attribute.
*
*
* @param value the new value of the 'Is Abstract' attribute.
* @see #isAbstract()
* @generated
*/
void setIsAbstract(boolean value);
/**
* Returns the value of the 'Is Final Specialization' attribute.
* The default value is "false"
.
*
*
*
* If true, the Classifier cannot be specialized by generalization. Note that this property is preserved through package merge operations; that is, the capability to specialize a Classifier (i.e., isFinalSpecialization =false) must be preserved in the resulting Classifier of a package merge operation where a Classifier with isFinalSpecialization =false is merged with a matching Classifier with isFinalSpecialization =true: the resulting Classifier will have isFinalSpecialization =false.
*
* @return the value of the 'Is Final Specialization' attribute.
* @see #setIsFinalSpecialization(boolean)
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_IsFinalSpecialization()
* @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
* @generated
*/
boolean isFinalSpecialization();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Classifier#isFinalSpecialization Is Final Specialization}' attribute.
*
*
* @param value the new value of the 'Is Final Specialization' attribute.
* @see #isFinalSpecialization()
* @generated
*/
void setIsFinalSpecialization(boolean value);
/**
* Returns the value of the 'Generalization' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Generalization}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Generalization#getSpecific Specific}'.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
*
*
*
*
*
* Specifies the Generalization relationships for this Classifier. These Generalizations navigaten to more general classifiers in the generalization hierarchy.
*
* @return the value of the 'Generalization' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_Generalization()
* @see org.eclipse.uml2.uml.Generalization#getSpecific
* @model opposite="specific" containment="true" resolveProxies="true" ordered="false"
* @generated
*/
EList getGeneralizations();
/**
* Returns the value of the 'Powertype Extent' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.GeneralizationSet}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.GeneralizationSet#getPowertype Powertype}'.
*
*
*
* Designates the GeneralizationSet of which the associated Classifier is a power type.
*
* @return the value of the 'Powertype Extent' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_PowertypeExtent()
* @see org.eclipse.uml2.uml.GeneralizationSet#getPowertype
* @model opposite="powertype" ordered="false"
* @generated
*/
EList getPowertypeExtents();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.GeneralizationSet} with the specified 'Name' from the 'Powertype Extent' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.GeneralizationSet} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.GeneralizationSet} with the specified 'Name', or null
.
* @see #getPowertypeExtents()
* @generated
*/
GeneralizationSet getPowertypeExtent(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.GeneralizationSet} with the specified 'Name' from the 'Powertype Extent' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.GeneralizationSet} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @return The first {@link org.eclipse.uml2.uml.GeneralizationSet} with the specified 'Name', or null
.
* @see #getPowertypeExtents()
* @generated
*/
GeneralizationSet getPowertypeExtent(String name, boolean ignoreCase);
/**
* Returns the value of the 'Feature' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Feature}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Feature#getFeaturingClassifiers Featuring Classifier}'.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Namespace#getMembers() Member}'
*
*
* This feature is a derived union.
*
*
*
* Specifies each feature defined in the classifier.
* Note that there may be members of the Classifier that are of the type Feature but are not included in this association, e.g. inherited features.
*
* @return the value of the 'Feature' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_Feature()
* @see org.eclipse.uml2.uml.Feature#getFeaturingClassifiers
* @model opposite="featuringClassifier" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getFeatures();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Feature} with the specified 'Name' from the 'Feature' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Feature} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Feature} with the specified 'Name', or null
.
* @see #getFeatures()
* @generated
*/
Feature getFeature(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Feature} with the specified 'Name' from the 'Feature' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Feature} 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.Feature} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Feature} with the specified 'Name', or null
.
* @see #getFeatures()
* @generated
*/
Feature getFeature(String name, boolean ignoreCase, EClass eClass);
/**
* Returns the value of the 'Inherited Member' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Namespace#getMembers() Member}'
*
*
*
*
*
* Specifies all elements inherited by this classifier from the general classifiers.
*
* @return the value of the 'Inherited Member' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_InheritedMember()
* @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getInheritedMembers();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name' from the 'Inherited Member' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name', or null
.
* @see #getInheritedMembers()
* @generated
*/
NamedElement getInheritedMember(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name' from the 'Inherited Member' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.NamedElement} 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.NamedElement} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified 'Name', or null
.
* @see #getInheritedMembers()
* @generated
*/
NamedElement getInheritedMember(String name, boolean ignoreCase,
EClass eClass);
/**
* Returns the value of the 'Redefined Classifier' 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.RedefinableElement#getRedefinedElements() Redefined Element}'
*
*
*
*
*
* References the Classifiers that are redefined by this Classifier.
*
* @return the value of the 'Redefined Classifier' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_RedefinedClassifier()
* @model ordered="false"
* @generated
*/
EList getRedefinedClassifiers();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'Redefined Classifier' 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 #getRedefinedClassifiers()
* @generated
*/
Classifier getRedefinedClassifier(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'Redefined Classifier' 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
.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name', or null
.
* @see #getRedefinedClassifiers()
* @generated
*/
Classifier getRedefinedClassifier(String name, boolean ignoreCase,
EClass eClass);
/**
* Returns the value of the 'General' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Classifier}.
*
*
*
* Specifies the general Classifiers for this Classifier.
* References the general classifier in the Generalization relationship.
*
* @return the value of the 'General' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_General()
* @model transient="true" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getGenerals();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'General' 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 #getGenerals()
* @generated
*/
Classifier getGeneral(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name' from the 'General' 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
.
* @return The first {@link org.eclipse.uml2.uml.Classifier} with the specified 'Name', or null
.
* @see #getGenerals()
* @generated
*/
Classifier getGeneral(String name, boolean ignoreCase, EClass eClass);
/**
* Returns the value of the 'Owned Use Case' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.UseCase}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() Owned Member}'
*
*
*
*
*
* References the use cases owned by this classifier.
*
* @return the value of the 'Owned Use Case' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_OwnedUseCase()
* @model containment="true" resolveProxies="true" ordered="false"
* @generated
*/
EList getOwnedUseCases();
/**
* Creates a new {@link org.eclipse.uml2.uml.UseCase}, with the specified 'Name', and appends it to the 'Owned Use Case' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.UseCase}, or null
.
* @return The new {@link org.eclipse.uml2.uml.UseCase}.
* @see #getOwnedUseCases()
* @generated
*/
UseCase createOwnedUseCase(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name' from the 'Owned Use Case' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.UseCase} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name', or null
.
* @see #getOwnedUseCases()
* @generated
*/
UseCase getOwnedUseCase(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name' from the 'Owned Use Case' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.UseCase} 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.UseCase} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name', or null
.
* @see #getOwnedUseCases()
* @generated
*/
UseCase getOwnedUseCase(String name, boolean ignoreCase,
boolean createOnDemand);
/**
* Returns the value of the 'Use Case' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.UseCase}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.UseCase#getSubjects Subject}'.
*
*
*
* The set of use cases for which this Classifier is the subject.
*
* @return the value of the 'Use Case' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_UseCase()
* @see org.eclipse.uml2.uml.UseCase#getSubjects
* @model opposite="subject" ordered="false"
* @generated
*/
EList getUseCases();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name' from the 'Use Case' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.UseCase} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name', or null
.
* @see #getUseCases()
* @generated
*/
UseCase getUseCase(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name' from the 'Use Case' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.UseCase} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @return The first {@link org.eclipse.uml2.uml.UseCase} with the specified 'Name', or null
.
* @see #getUseCases()
* @generated
*/
UseCase getUseCase(String name, boolean ignoreCase);
/**
* Returns the value of the 'Substitution' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Substitution}.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Substitution#getSubstitutingClassifier Substituting Classifier}'.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
* - '{@link org.eclipse.uml2.uml.NamedElement#getClientDependencies() Client Dependency}'
*
*
*
*
*
* References the substitutions that are owned by this Classifier.
*
* @return the value of the 'Substitution' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_Substitution()
* @see org.eclipse.uml2.uml.Substitution#getSubstitutingClassifier
* @model opposite="substitutingClassifier" containment="true" resolveProxies="true" ordered="false"
* @generated
*/
EList getSubstitutions();
/**
* Creates a new {@link org.eclipse.uml2.uml.Substitution}, with the specified 'Name', and 'Contract', and appends it to the 'Substitution' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.Substitution}, or null
.
* @param contract The 'Contract' for the new {@link org.eclipse.uml2.uml.Substitution}, or null
.
* @return The new {@link org.eclipse.uml2.uml.Substitution}.
* @see #getSubstitutions()
* @generated
*/
Substitution createSubstitution(String name, Classifier contract);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Substitution} with the specified 'Name', and 'Contract' from the 'Substitution' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Substitution} to retrieve, or null
.
* @param contract The 'Contract' of the {@link org.eclipse.uml2.uml.Substitution} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Substitution} with the specified 'Name', and 'Contract', or null
.
* @see #getSubstitutions()
* @generated
*/
Substitution getSubstitution(String name, Classifier contract);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Substitution} with the specified 'Name', and 'Contract' from the 'Substitution' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Substitution} to retrieve, or null
.
* @param contract The 'Contract' of the {@link org.eclipse.uml2.uml.Substitution} 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.Substitution} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.Substitution} with the specified 'Name', and 'Contract', or null
.
* @see #getSubstitutions()
* @generated
*/
Substitution getSubstitution(String name, Classifier contract,
boolean ignoreCase, boolean createOnDemand);
/**
* Returns the value of the 'Attribute' reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.Property}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Classifier#getFeatures() Feature}'
*
*
* This feature is a derived union.
*
*
*
* Refers to all of the Properties that are direct (i.e. not inherited or imported) attributes of the classifier.
*
* @return the value of the 'Attribute' reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_Attribute()
* @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
EList getAttributes();
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified 'Name', and 'Type' from the 'Attribute' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or null
.
* @param type The 'Type' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Property} with the specified 'Name', and 'Type', or null
.
* @see #getAttributes()
* @generated
*/
Property getAttribute(String name, Type type);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified 'Name', and 'Type' from the 'Attribute' reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or null
.
* @param type The 'Type' of the {@link org.eclipse.uml2.uml.Property} 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.Property} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.Property} with the specified 'Name', and 'Type', or null
.
* @see #getAttributes()
* @generated
*/
Property getAttribute(String name, Type type, boolean ignoreCase,
EClass eClass);
/**
* Returns the value of the 'Representation' reference.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Classifier#getCollaborationUses() Collaboration Use}'
*
*
*
*
*
* References a collaboration use which indicates the collaboration that represents this classifier.
*
* @return the value of the 'Representation' reference.
* @see #setRepresentation(CollaborationUse)
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_Representation()
* @model ordered="false"
* @generated
*/
CollaborationUse getRepresentation();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Classifier#getRepresentation Representation}' reference.
*
*
* @param value the new value of the 'Representation' reference.
* @see #getRepresentation()
* @generated
*/
void setRepresentation(CollaborationUse value);
/**
* Creates a new {@link org.eclipse.uml2.uml.CollaborationUse},with the specified 'Name', and sets the 'Representation' reference.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.CollaborationUse}, or null
.
* @return The new {@link org.eclipse.uml2.uml.CollaborationUse}.
* @see #getRepresentation()
* @generated
*/
CollaborationUse createRepresentation(String name);
/**
* Returns the value of the 'Collaboration Use' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.CollaborationUse}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
*
*
*
*
*
* References the collaboration uses owned by the classifier.
*
* @return the value of the 'Collaboration Use' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getClassifier_CollaborationUse()
* @model containment="true" resolveProxies="true" ordered="false"
* @generated
*/
EList getCollaborationUses();
/**
* Creates a new {@link org.eclipse.uml2.uml.CollaborationUse}, with the specified 'Name', and appends it to the 'Collaboration Use' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.CollaborationUse}, or null
.
* @return The new {@link org.eclipse.uml2.uml.CollaborationUse}.
* @see #getCollaborationUses()
* @generated
*/
CollaborationUse createCollaborationUse(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.CollaborationUse} with the specified 'Name' from the 'Collaboration Use' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.CollaborationUse} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.CollaborationUse} with the specified 'Name', or null
.
* @see #getCollaborationUses()
* @generated
*/
CollaborationUse getCollaborationUse(String name);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.CollaborationUse} with the specified 'Name' from the 'Collaboration Use' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.CollaborationUse} 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.CollaborationUse} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.CollaborationUse} with the specified 'Name', or null
.
* @see #getCollaborationUses()
* @generated
*/
CollaborationUse getCollaborationUse(String name, boolean ignoreCase,
boolean createOnDemand);
/**
*
*
*
* Generalization hierarchies must be directed and acyclical. A classifier can not be both a transitively general and transitively specific classifier of the same classifier.
* not self.allParents()->includes(self)
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
*
* @model
* @generated
*/
boolean validateNoCyclesInGeneralization(DiagnosticChain diagnostics,
Map