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 use case is the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system.

The following features are supported:

See Also:
UMLPackage.getUseCase()

Method Summary
 org.eclipse.emf.common.util.EList<UseCase> allIncludedUseCases()
          The query allIncludedUseCases() returns the transitive closure of all use cases (directly or indirectly) included by this use case.
 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 use case cannot include use cases 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 can not have Associations to UseCases specifying the same subject.
 
Methods inherited from interface org.eclipse.uml2.uml.BehavioredClassifier
createClassifierBehavior, createInterfaceRealization, createOwnedBehavior, createOwnedTrigger, getAllImplementedInterfaces, getClassifierBehavior, getImplementedInterfaces, getInterfaceRealization, getInterfaceRealization, getInterfaceRealizations, getOwnedBehavior, getOwnedBehavior, getOwnedBehaviors, getOwnedTrigger, getOwnedTrigger, getOwnedTriggers, setClassifierBehavior, validateClassBehavior
 
Methods inherited from interface org.eclipse.uml2.uml.Classifier
allFeatures, allParents, conformsTo, createCollaborationUse, createGeneralization, createOwnedUseCase, createRepresentation, createSubstitution, 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, maySpecializeType, parents, setIsAbstract, setRepresentation, validateGeneralizationHierarchies, validateMapsToGeneralizationSet, validateNoCyclesInGeneralization, 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, validateMembersDistinguishable
 
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, 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.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
 
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, 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.Type
conformsTo, createAssociation, getAssociations, getPackage, setPackage
 
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, 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.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, 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'. References the Include relationships owned by this use case.

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'. References the Extend relationships owned by this use case.

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'. References the ExtensionPoints owned by the use case.

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'. References the subjects to which this use case applies. The subject or its parts realize all the use cases that apply to this subject. Use cases need not be attached to any specific subject, however. The subject may, but need not, own the use cases that apply to it.

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. self.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. true

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 can not have Associations to UseCases specifying the same subject. true

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 use case cannot include use cases that directly or indirectly include it. not self.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 use cases (directly or indirectly) included by this use case. result = self.include->union(self.include->collect(in | in.allIncludedUseCases()))


Copyright 2003, 2007 IBM Corporation and others.
All Rights Reserved.