org.eclipse.uml2.uml
Interface UseCase

All Superinterfaces:
BehavioredClassifier, Classifier, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, PackageableElement, ParameterableElement, RedefinableElement, TemplateableElement, Type

public interface UseCase
extends BehavioredClassifier

A representation of the model object 'Use Case'. A UseCase specifies a set of actions performed by its subjects, which yields an observable result that is of value for one or more Actors or other stakeholders of each subject.

From package UML::UseCases.

The following features are supported:

See Also:
UMLPackage.getUseCase()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 org.eclipse.emf.common.util.EList<UseCase> allIncludedUseCases()
          The query allIncludedUseCases() returns the transitive closure of all UseCases (directly or indirectly) included by this UseCase.
 Extend createExtend(java.lang.String name, UseCase extendedCase)
          Creates a new Extend, with the specified 'Name', and 'Extended Case', and appends it to the 'Extend' containment reference list
 ExtensionPoint createExtensionPoint(java.lang.String name)
          Creates a new ExtensionPoint, with the specified 'Name', and appends it to the 'Extension Point' containment reference list
 Include createInclude(java.lang.String name, UseCase addition)
          Creates a new Include, with the specified 'Name', and 'Addition', and appends it to the 'Include' containment reference list
 Extend getExtend(java.lang.String name, UseCase extendedCase)
          Retrieves the first Extend with the specified 'Name', and 'Extended Case' from the 'Extend' containment reference list
 Extend getExtend(java.lang.String name, UseCase extendedCase, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first Extend with the specified 'Name', and 'Extended Case' from the 'Extend' containment reference list
 org.eclipse.emf.common.util.EList<Extend> getExtends()
          Returns the value of the 'Extend' containment reference list.
 ExtensionPoint getExtensionPoint(java.lang.String name)
          Retrieves the first ExtensionPoint with the specified 'Name' from the 'Extension Point' containment reference list
 ExtensionPoint getExtensionPoint(java.lang.String name, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first ExtensionPoint with the specified 'Name' from the 'Extension Point' containment reference list
 org.eclipse.emf.common.util.EList<ExtensionPoint> getExtensionPoints()
          Returns the value of the 'Extension Point' containment reference list.
 Include getInclude(java.lang.String name, UseCase addition)
          Retrieves the first Include with the specified 'Name', and 'Addition' from the 'Include' containment reference list
 Include getInclude(java.lang.String name, UseCase addition, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first Include with the specified 'Name', and 'Addition' from the 'Include' containment reference list
 org.eclipse.emf.common.util.EList<Include> getIncludes()
          Returns the value of the 'Include' containment reference list.
 Classifier getSubject(java.lang.String name)
          Retrieves the first Classifier with the specified 'Name' from the 'Subject' reference list
 Classifier getSubject(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
          Retrieves the first Classifier with the specified 'Name' from the 'Subject' reference list
 org.eclipse.emf.common.util.EList<Classifier> getSubjects()
          Returns the value of the 'Subject' reference list.
 boolean validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          UseCases can only be involved in binary Associations.
 boolean validateCannotIncludeSelf(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A UseCase cannot include UseCases that directly or indirectly include it.
 boolean validateMustHaveName(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A UseCase must have a name.
 boolean validateNoAssociationToUseCase(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          UseCases cannot have Associations to UseCases specifying the same subject.
 
Methods inherited from interface org.eclipse.uml2.uml.BehavioredClassifier
createClassifierBehavior, createInterfaceRealization, createOwnedBehavior, getAllImplementedInterfaces, getClassifierBehavior, getImplementedInterfaces, getInterfaceRealization, getInterfaceRealization, getInterfaceRealizations, getOwnedBehavior, getOwnedBehavior, getOwnedBehaviors, setClassifierBehavior, validateClassBehavior
 
Methods inherited from interface org.eclipse.uml2.uml.Classifier
allAttributes, allFeatures, allParents, allRealizedInterfaces, allSlottableFeatures, allUsedInterfaces, createCollaborationUse, createGeneralization, createOwnedUseCase, createRepresentation, createSubstitution, directlyRealizedInterfaces, directlyUsedInterfaces, getAllAttributes, getAllOperations, getAllUsedInterfaces, getAttribute, getAttribute, getAttributes, getCollaborationUse, getCollaborationUse, getCollaborationUses, getFeature, getFeature, getFeatures, getGeneral, getGeneral, getGeneralization, getGeneralization, getGeneralizations, getGenerals, getInheritedMember, getInheritedMember, getInheritedMembers, getOperation, getOperation, getOperations, getOwnedUseCase, getOwnedUseCase, getOwnedUseCases, getPowertypeExtent, getPowertypeExtent, getPowertypeExtents, getRedefinedClassifier, getRedefinedClassifier, getRedefinedClassifiers, getRepresentation, getSubstitution, getSubstitution, getSubstitutions, getUseCase, getUseCase, getUseCases, getUsedInterfaces, hasVisibilityOf, inherit, inheritableMembers, isAbstract, isFinalSpecialization, isSubstitutableFor, maySpecializeType, parents, setIsAbstract, setIsFinalSpecialization, setRepresentation, validateMapsToGeneralizationSet, validateNoCyclesInGeneralization, validateNonFinalParents, validateSpecializeType
 
Methods inherited from interface org.eclipse.uml2.uml.Namespace
createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateCannotImportOwnedMembers, validateCannotImportSelf, validateMembersDistinguishable
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateNonLeafRedefinition, validateRedefinitionConsistent, validateRedefinitionContextValid
 
Methods inherited from interface org.eclipse.uml2.uml.Type
conformsTo, createAssociation, getAssociations, getPackage, setPackage
 
Methods inherited from interface org.eclipse.uml2.uml.PackageableElement
validateNamespaceNeedsVisibility
 
Methods inherited from interface org.eclipse.uml2.uml.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.uml.ParameterableElement
getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter
 
Methods inherited from interface org.eclipse.uml2.uml.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 
Methods inherited from interface org.eclipse.uml2.uml.TemplateableElement
createOwnedTemplateSignature, createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBinding, getTemplateBinding, getTemplateBindings, isTemplate, parameterableElements, setOwnedTemplateSignature
 

Method Detail

getIncludes

org.eclipse.emf.common.util.EList<Include> getIncludes()
Returns the value of the 'Include' containment reference list. The list contents are of type Include. It is bidirectional and its opposite is 'Including Case'.

This feature subsets the following features:

The Include relationships owned by this UseCase.

From package UML::UseCases.

Returns:
the value of the 'Include' containment reference list.
See Also:
UMLPackage.getUseCase_Include(), Include.getIncludingCase()

createInclude

Include createInclude(java.lang.String name,
                      UseCase addition)
Creates a new Include, with the specified 'Name', and 'Addition', and appends it to the 'Include' containment reference list.

Parameters:
name - The 'Name' for the new Include, or null.
addition - The 'Addition' for the new Include, or null.
Returns:
The new Include.
See Also:
getIncludes()

getInclude

Include getInclude(java.lang.String name,
                   UseCase addition)
Retrieves the first Include with the specified 'Name', and 'Addition' from the 'Include' containment reference list.

Parameters:
name - The 'Name' of the Include to retrieve, or null.
addition - The 'Addition' of the Include to retrieve, or null.
Returns:
The first Include with the specified 'Name', and 'Addition', or null.
See Also:
getIncludes()

getInclude

Include getInclude(java.lang.String name,
                   UseCase addition,
                   boolean ignoreCase,
                   boolean createOnDemand)
Retrieves the first Include with the specified 'Name', and 'Addition' from the 'Include' containment reference list.

Parameters:
name - The 'Name' of the Include to retrieve, or null.
addition - The 'Addition' of the Include to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
createOnDemand - Whether to create a Include on demand if not found.
Returns:
The first Include with the specified 'Name', and 'Addition', or null.
See Also:
getIncludes()

getExtends

org.eclipse.emf.common.util.EList<Extend> getExtends()
Returns the value of the 'Extend' containment reference list. The list contents are of type Extend. It is bidirectional and its opposite is 'Extension'.

This feature subsets the following features:

The Extend relationships owned by this UseCase.

From package UML::UseCases.

Returns:
the value of the 'Extend' containment reference list.
See Also:
UMLPackage.getUseCase_Extend(), Extend.getExtension()

createExtend

Extend createExtend(java.lang.String name,
                    UseCase extendedCase)
Creates a new Extend, with the specified 'Name', and 'Extended Case', and appends it to the 'Extend' containment reference list.

Parameters:
name - The 'Name' for the new Extend, or null.
extendedCase - The 'Extended Case' for the new Extend, or null.
Returns:
The new Extend.
See Also:
getExtends()

getExtend

Extend getExtend(java.lang.String name,
                 UseCase extendedCase)
Retrieves the first Extend with the specified 'Name', and 'Extended Case' from the 'Extend' containment reference list.

Parameters:
name - The 'Name' of the Extend to retrieve, or null.
extendedCase - The 'Extended Case' of the Extend to retrieve, or null.
Returns:
The first Extend with the specified 'Name', and 'Extended Case', or null.
See Also:
getExtends()

getExtend

Extend getExtend(java.lang.String name,
                 UseCase extendedCase,
                 boolean ignoreCase,
                 boolean createOnDemand)
Retrieves the first Extend with the specified 'Name', and 'Extended Case' from the 'Extend' containment reference list.

Parameters:
name - The 'Name' of the Extend to retrieve, or null.
extendedCase - The 'Extended Case' of the Extend to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
createOnDemand - Whether to create a Extend on demand if not found.
Returns:
The first Extend with the specified 'Name', and 'Extended Case', or null.
See Also:
getExtends()

getExtensionPoints

org.eclipse.emf.common.util.EList<ExtensionPoint> getExtensionPoints()
Returns the value of the 'Extension Point' containment reference list. The list contents are of type ExtensionPoint. It is bidirectional and its opposite is 'Use Case'.

This feature subsets the following features:

The ExtensionPoints owned by this UseCase.

From package UML::UseCases.

Returns:
the value of the 'Extension Point' containment reference list.
See Also:
UMLPackage.getUseCase_ExtensionPoint(), ExtensionPoint.getUseCase()

createExtensionPoint

ExtensionPoint createExtensionPoint(java.lang.String name)
Creates a new ExtensionPoint, with the specified 'Name', and appends it to the 'Extension Point' containment reference list.

Parameters:
name - The 'Name' for the new ExtensionPoint, or null.
Returns:
The new ExtensionPoint.
See Also:
getExtensionPoints()

getExtensionPoint

ExtensionPoint getExtensionPoint(java.lang.String name)
Retrieves the first ExtensionPoint with the specified 'Name' from the 'Extension Point' containment reference list.

Parameters:
name - The 'Name' of the ExtensionPoint to retrieve, or null.
Returns:
The first ExtensionPoint with the specified 'Name', or null.
See Also:
getExtensionPoints()

getExtensionPoint

ExtensionPoint getExtensionPoint(java.lang.String name,
                                 boolean ignoreCase,
                                 boolean createOnDemand)
Retrieves the first ExtensionPoint with the specified 'Name' from the 'Extension Point' containment reference list.

Parameters:
name - The 'Name' of the ExtensionPoint to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
createOnDemand - Whether to create a ExtensionPoint on demand if not found.
Returns:
The first ExtensionPoint with the specified 'Name', or null.
See Also:
getExtensionPoints()

getSubjects

org.eclipse.emf.common.util.EList<Classifier> getSubjects()
Returns the value of the 'Subject' reference list. The list contents are of type Classifier. It is bidirectional and its opposite is 'Use Case'. The subjects to which this UseCase applies. Each subject or its parts realize all the UseCases that apply to it.

From package UML::UseCases.

Returns:
the value of the 'Subject' reference list.
See Also:
UMLPackage.getUseCase_Subject(), Classifier.getUseCases()

getSubject

Classifier getSubject(java.lang.String name)
Retrieves the first Classifier with the specified 'Name' from the 'Subject' reference list.

Parameters:
name - The 'Name' of the Classifier to retrieve, or null.
Returns:
The first Classifier with the specified 'Name', or null.
See Also:
getSubjects()

getSubject

Classifier getSubject(java.lang.String name,
                      boolean ignoreCase,
                      org.eclipse.emf.ecore.EClass eClass)
Retrieves the first Classifier with the specified 'Name' from the 'Subject' reference list.

Parameters:
name - The 'Name' of the Classifier to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Classifier to retrieve, or null.
Returns:
The first Classifier with the specified 'Name', or null.
See Also:
getSubjects()

validateMustHaveName

boolean validateMustHaveName(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                             java.util.Map<java.lang.Object,java.lang.Object> context)
A UseCase must have a name. name -> notEmpty ()

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateBinaryAssociations

boolean validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                   java.util.Map<java.lang.Object,java.lang.Object> context)
UseCases can only be involved in binary Associations. Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies a.memberEnd->size() = 2)

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateNoAssociationToUseCase

boolean validateNoAssociationToUseCase(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                       java.util.Map<java.lang.Object,java.lang.Object> context)
UseCases cannot have Associations to UseCases specifying the same subject. Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies ( let usecases: Set(UseCase) = a.memberEnd.type->select(oclIsKindOf(UseCase))->collect(oclAsType(UseCase))->asSet() in usecases->size() > 1 implies usecases->collect(subject)->size() > 1 ) )

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateCannotIncludeSelf

boolean validateCannotIncludeSelf(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)
A UseCase cannot include UseCases that directly or indirectly include it. not allIncludedUseCases()->includes(self)

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

allIncludedUseCases

org.eclipse.emf.common.util.EList<UseCase> allIncludedUseCases()
The query allIncludedUseCases() returns the transitive closure of all UseCases (directly or indirectly) included by this UseCase. result = (self.include.addition->union(self.include.addition->collect(uc | uc.allIncludedUseCases()))->asSet())

From package UML::UseCases.


Copyright 2003, 2014 IBM Corporation, CEA, and others.
All Rights Reserved.