org.eclipse.uml2
Interface UseCase

All Superinterfaces:
BehavioredClassifier, Classifier, Element, EModelElement, EObject, NamedElement, Namespace, Notifier, PackageableElement, ParameterableElement, RedefinableElement, TemplateableElement, Type

public interface UseCase
extends BehavioredClassifier

A representation of the model object 'Use Case'. A UseCase is a kind of behaviored classifier that represents a declaration of an offered behavior. Each use case specifies some behavior, possibly including variants, that the subject can perform in collaboration with one or more actors. Use cases define the offered behavior of the subject without reference to its internal structure. These behaviors, involving interactions between the actor and the subject, may result in changes to the state of the subject and communications with its environment. A use case can include possible variations of its basic behavior, including exceptional behavior and error handling. The subject of a use case could be a physical system or any other element that may have behavior, such as a component, subsystem or class. Each use case specifies a unit of useful functionality that the subject provides to its users, i.e., a specific way of interacting with the subject. This functionality, which is initiated by an actor, must always be completed for the use case to complete. It is deemed complete if, after its execution, the subject will be in a state in which no further inputs or actions are expected and the use case can be initiated again or in an error state. Use cases can be used both for specification of the (external) requirements on a subject and for the specification of the functionality offered by a subject. Moreover, the use cases also state the requirements the specified subject poses on its environment by defining how they should interact with the subject so that it will be able to perform its services. The behavior of a use case can be described by a specification that is some kind of Behavior (through its ownedBehavior relationship), such as interactions, activities, and state machines, or by pre-conditions and post-conditions as well as by natural language text where appropriate. It may also be described indirectly through a Collaboration that uses the use case and its actors as the classifiers that type its parts. Which of these techniques to use depends on the nature of the use case behavior as well as on the intended reader. These descriptions can be combined.

The following features are supported:

See Also:
UML2Package.getUseCase()

Field Summary
static String copyright
           
 
Fields inherited from interface org.eclipse.uml2.NamedElement
SEPARATOR
 
Method Summary
 Extend createExtend(EClass eClass)
          Creates a Extend and appends it to the 'Extend' containment reference list
 ExtensionPoint createExtensionPoint(EClass eClass)
          Creates a ExtensionPoint and appends it to the 'Extension Point' containment reference list
 Include createInclude(EClass eClass)
          Creates a Include and appends it to the 'Include' containment reference list
 Extend getExtend(String unqualifiedName)
          Retrieves the Extend with the specified name from the 'Extend' containment reference list
 EList getExtends()
          Returns the value of the 'Extend' containment reference list.
 ExtensionPoint getExtensionPoint(String unqualifiedName)
          Retrieves the ExtensionPoint with the specified name from the 'Extension Point' containment reference list
 EList getExtensionPoints()
          Returns the value of the 'Extension Point' containment reference list.
 Include getInclude(String unqualifiedName)
          Retrieves the Include with the specified name from the 'Include' containment reference list
 EList getIncludes()
          Returns the value of the 'Include' containment reference list.
 EList getOwnedMembers()
           
 Classifier getSubject(String unqualifiedName)
          Retrieves the Classifier with the specified name from the 'Subject' reference list
 EList getSubjects()
          Returns the value of the 'Subject' reference list.
 
Methods inherited from interface org.eclipse.uml2.BehavioredClassifier
createImplementation, createOwnedBehavior, createOwnedStateMachine, createOwnedTrigger, getClassifierBehavior, getClientDependencies, getImplementation, getImplementations, getImplementedInterfaces, getOwnedBehavior, getOwnedBehaviors, getOwnedElements, getOwnedStateMachine, getOwnedStateMachines, getOwnedTrigger, getOwnedTriggers, setClassifierBehavior
 
Methods inherited from interface org.eclipse.uml2.Classifier
allFeatures, allParents, conformsTo, createGeneralization, createGeneralization, createOccurrence, createOwnedUseCase, createSubstitution, general, getAttribute, getAttributes, getFeature, getFeatures, getGeneral, getGeneralizations, getGenerals, getInheritedMember, getInheritedMembers, getMembers, getOccurrence, getOccurrences, getOwnedUseCase, getOwnedUseCases, getPowertypeExtent, getPowertypeExtents, getRedefinedClassifier, getRedefinedClassifiers, getRedefinedElements, getRepresentation, getSubstitution, getSubstitutions, getUseCase, getUseCases, getUsedInterfaces, hasVisibilityOf, inherit, inheritableMembers, inheritedMember, isAbstract, maySpecializeType, parents, setIsAbstract, setRepresentation, validateGeneralEqualsParents, validateInheritedMember, validateNoCyclesInGeneralization, validateSpecializeType
 
Methods inherited from interface org.eclipse.uml2.Namespace
createElementImport, createOwnedRule, createPackageImport, excludeCollisions, getElementImports, getImportedMember, getImportedMembers, getImportedPackages, getMember, getNamesOfMember, getOwnedRule, getOwnedRules, getPackageImports, importedMember, importElement, importMembers, importPackage, membersAreDistinguishable, validateImportedMemberDerived, validateMembersAreDistinguishable
 
Methods inherited from interface org.eclipse.uml2.NamedElement
allNamespaces, createNameExpression, getClientDependency, getName, getNameExpression, getNamespace, getOwner, getQualifiedName, getVisibility, isDistinguishableFrom, qualifiedName, separator, setName, setNameExpression, setVisibility, validateNoName, validateQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.TemplateableElement
createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBindings, parameterableElements, setOwnedTemplateSignature
 
Methods inherited from interface org.eclipse.uml2.Element
addKeyword, allOwnedElements, apply, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedVersion, getKeywords, getModel, getNearestPackage, getOwnedComments, getValue, hasKeyword, isApplied, isRequired, mustBeOwned, removeKeyword, setValue, unapply, 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.Type
conformsTo, createAssociation, getNamespace, getPackage
 
Methods inherited from interface org.eclipse.uml2.PackageableElement
getPackageableElement_visibility, getVisibility, setPackageableElement_visibility, setVisibility
 
Methods inherited from interface org.eclipse.uml2.ParameterableElement
getOwner, getOwningParameter, getTemplateParameter, setOwningParameter, setTemplateParameter
 
Methods inherited from interface org.eclipse.uml2.RedefinableElement
getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
 

Field Detail

copyright

public static final String copyright

See Also:
Constant Field Values
Method Detail

getIncludes

public EList 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'.

If the meaning of the 'Include' containment reference list isn't clear, there really should be more of a description here...

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

getInclude

public Include getInclude(String unqualifiedName)
Retrieves the Include with the specified name from the 'Include' containment reference list.

Parameters:
unqualifiedName - The unqualified name of the Include to retrieve.
Returns:
The Include with the specified name, or null.
See Also:
getIncludes()

createInclude

public Include createInclude(EClass eClass)
Creates a Include and appends it to the 'Include' containment reference list.

Parameters:
eClass - The Ecore class of the Include to create.
Returns:
The new Include.
See Also:
getIncludes()

getExtends

public EList 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'.

If the meaning of the 'Extend' containment reference list isn't clear, there really should be more of a description here...

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

getExtend

public Extend getExtend(String unqualifiedName)
Retrieves the Extend with the specified name from the 'Extend' containment reference list.

Parameters:
unqualifiedName - The unqualified name of the Extend to retrieve.
Returns:
The Extend with the specified name, or null.
See Also:
getExtends()

createExtend

public Extend createExtend(EClass eClass)
Creates a Extend and appends it to the 'Extend' containment reference list.

Parameters:
eClass - The Ecore class of the Extend to create.
Returns:
The new Extend.
See Also:
getExtends()

getExtensionPoints

public EList 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'.

If the meaning of the 'Extension Point' containment reference list isn't clear, there really should be more of a description here...

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

getExtensionPoint

public ExtensionPoint getExtensionPoint(String unqualifiedName)
Retrieves the ExtensionPoint with the specified name from the 'Extension Point' containment reference list.

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

createExtensionPoint

public ExtensionPoint createExtensionPoint(EClass eClass)
Creates a ExtensionPoint and appends it to the 'Extension Point' containment reference list.

Parameters:
eClass - The Ecore class of the ExtensionPoint to create.
Returns:
The new ExtensionPoint.
See Also:
getExtensionPoints()

getSubjects

public EList 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'.

If the meaning of the 'Subject' reference list isn't clear, there really should be more of a description here...

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

getSubject

public Classifier getSubject(String unqualifiedName)
Retrieves the Classifier with the specified name from the 'Subject' reference list.

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

getOwnedMembers

public EList getOwnedMembers()

Specified by:
getOwnedMembers in interface BehavioredClassifier

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