## org.eclipse.uml2.uml
Interface StructuredClassifier

All Superinterfaces:
  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

All Known Subinterfaces:
  Activity, AssociationClass, Behavior, Class, Collaboration, Component, Device, EncapsulatedClassifier, ExecutionEnvironment, FunctionBehavior, Interaction, Node, OpaqueBehavior, ProtocolStateMachine, StateMachine, Stereotype

    public interface StructuredClassifier

extends Classifier

A representation of the model object 'Structured Classifier'. A structured classifier is an abstract metaclass that represents any classifier whose behavior can be fully or partly described by the collaboration of owned or referenced instances.

The following features are supported:

- `Owned Attribute`
- `Part`
- `Role`
- `Owned Connector`

See Also:
  `UMLPackage.getStructuredClassifier()`

Method Summary
`Property` `createOwnedAttribute(java.lang.String name, Type type)` Creates a new `Property`, with the specified 'Name', and 'Type', and appends it to the 'Owned Attribute' containment reference list
`Property` `createOwnedAttribute(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `Property`, with the specified 'Name', and 'Type', and appends it to the 'Owned Attribute' containment reference list
`Property` `createOwnedAttribute(java.lang.String name, Type type, int lower, int upper)` Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier.
`Connector` `createOwnedConnector(java.lang.String name)` Creates a new `Connector`, with the specified 'Name', and appends it to the 'Owned Connector' containment reference list
`Property` `getOwnedAttribute(java.lang.String name, Type type)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Owned Attribute' containment reference list
`Property` `getOwnedAttribute(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Owned Attribute' containment reference list
`org.eclipse.emf.common.util.EList<Property>` `getOwnedAttributes()` Returns the value of the 'Owned Attribute' containment reference list.
`Connector` `getOwnedConnector(java.lang.String name)` Retrieves the first `Connector` with the specified 'Name' from the 'Owned Connector' containment reference list
`Connector` `getOwnedConnector(java.lang.String name, boolean ignoreCase, boolean createOnDemand)` Retrieves the first `Connector` with the specified 'Name' from the 'Owned Connector' containment reference list
`org.eclipse.emf.common.util.EList<Connector>` `getOwnedConnectors()` Returns the value of the 'Owned Connector' containment reference list.
`Property` `getPart(java.lang.String name, Type type)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Part' reference list
`Property` `getPart(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Part' reference list
`org.eclipse.emf.common.util.EList<Property>` `getParts()` Returns the value of the 'Part' reference list.
`ConnectableElement` `getRole(java.lang.String name, Type type)` Retrieves the first `ConnectableElement` with the specified 'Name', and 'Type' from the 'Role' reference list
`ConnectableElement` `getRole(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)` Retrieves the first `ConnectableElement` with the specified 'Name', and 'Type' from the 'Role' reference list
`org.eclipse.emf.common.util.EList<ConnectableElement>` `getRoles()` Returns the value of the 'Role' reference list.
`boolean` `validateMultiplicities(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The multiplicities on connected elements must be consistent.

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

### getOwnedAttributes

    org.eclipse.emf.common.util.EList<Property> getOwnedAttributes()

  Returns the value of the 'Owned Attribute' containment reference list. The list contents are of type `Property`. References the properties owned by the classifier.

  Returns:
    the value of the 'Owned Attribute' containment reference list.
  See Also:
    `UMLPackage.getStructuredClassifier_OwnedAttribute()`

### createOwnedAttribute

    Property createOwnedAttribute(java.lang.String name,
                                  Type type,
                                  org.eclipse.emf.ecore.EClass eClass)

  Creates a new `Property`, with the specified 'Name', and 'Type', and appends it to the 'Owned Attribute' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Property`, or `null`.
    `type` - The 'Type' for the new `Property`, or `null`.
    `eClass` - The Ecore class of the `Property` to create.
  Returns:
    The new `Property`.
  See Also:
    `getOwnedAttributes()`

### createOwnedAttribute

    Property createOwnedAttribute(java.lang.String name,
                                  Type type)

  Creates a new `Property`, with the specified 'Name', and 'Type', and appends it to the 'Owned Attribute' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Property`, or `null`.
    `type` - The 'Type' for the new `Property`, or `null`.
  Returns:
    The new `Property`.
  See Also:
    `getOwnedAttributes()`

### getOwnedAttribute

    Property getOwnedAttribute(java.lang.String name,
                               Type type)

  Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Owned Attribute' containment reference list.

  Parameters:
    `name` - The 'Name' of the `Property` to retrieve, or `null`.
    `type` - The 'Type' of the `Property` to retrieve, or `null`.
  Returns:
    The first `Property` with the specified 'Name', and 'Type', or `null`.
  See Also:
    `getOwnedAttributes()`

### getOwnedAttribute

    Property getOwnedAttribute(java.lang.String name,
                               Type type,
                               boolean ignoreCase,
                               org.eclipse.emf.ecore.EClass eClass,
                               boolean createOnDemand)

  Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Owned Attribute' containment reference list.

  Parameters:
    `name` - The 'Name' of the `Property` to retrieve, or `null`.
    `type` - The 'Type' of the `Property` to retrieve, or `null`.
    `ignoreCase` - Whether to ignore case in `String` comparisons.
    `eClass` - The Ecore class of the `Property` to retrieve, or `null`.
    `createOnDemand` - Whether to create a `Property` on demand if not found.
  Returns:
    The first `Property` with the specified 'Name', and 'Type', or `null`.
  See Also:
    `getOwnedAttributes()`

### getParts

    org.eclipse.emf.common.util.EList<Property> getParts()

  Returns the value of the 'Part' reference list. The list contents are of type `Property`. References the properties specifying instances that the classifier owns by composition. This association is derived, selecting those owned properties where isComposite is true.

  Returns:
    the value of the 'Part' reference list.
  See Also:
    `UMLPackage.getStructuredClassifier_Part()`

### getPart

    Property getPart(java.lang.String name,
                     Type type)

  Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Part' reference list.

  Parameters:
    `name` - The 'Name' of the `Property` to retrieve, or `null`.
    `type` - The 'Type' of the `Property` to retrieve, or `null`.
  Returns:
    The first `Property` with the specified 'Name', and 'Type', or `null`.
  See Also:
    `getParts()`

### getPart

    Property getPart(java.lang.String name,
                     Type type,
                     boolean ignoreCase,
                     org.eclipse.emf.ecore.EClass eClass)

  Retrieves the first `Property` with the specified 'Name', and 'Type' from the 'Part' reference list.

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

### getRoles

    org.eclipse.emf.common.util.EList<ConnectableElement> getRoles()

  Returns the value of the 'Role' reference list. The list contents are of type `ConnectableElement`. References the roles that instances may play in this classifier.

  Returns:
    the value of the 'Role' reference list.
  See Also:
    `UMLPackage.getStructuredClassifier_Role()`

### getRole

    ConnectableElement getRole(java.lang.String name,
                               Type type)

  Retrieves the first `ConnectableElement` with the specified 'Name', and 'Type' from the 'Role' reference list.

  Parameters:
    `name` - The 'Name' of the `ConnectableElement` to retrieve, or `null`.
    `type` - The 'Type' of the `ConnectableElement` to retrieve, or `null`.
  Returns:
    The first `ConnectableElement` with the specified 'Name', and 'Type', or `null`.
  See Also:
    `getRoles()`

### getRole

    ConnectableElement getRole(java.lang.String name,
                               Type type,
                               boolean ignoreCase,
                               org.eclipse.emf.ecore.EClass eClass)

  Retrieves the first `ConnectableElement` with the specified 'Name', and 'Type' from the 'Role' reference list.

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

### getOwnedConnectors

    org.eclipse.emf.common.util.EList<Connector> getOwnedConnectors()

  Returns the value of the 'Owned Connector' containment reference list. The list contents are of type `Connector`. References the connectors owned by the classifier.

  Returns:
    the value of the 'Owned Connector' containment reference list.
  See Also:
    `UMLPackage.getStructuredClassifier_OwnedConnector()`

### createOwnedConnector

    Connector createOwnedConnector(java.lang.String name)

  Creates a new `Connector`, with the specified 'Name', and appends it to the 'Owned Connector' containment reference list.

  Parameters:
    `name` - The 'Name' for the new `Connector`, or `null`.
  Returns:
    The new `Connector`.
  See Also:
    `getOwnedConnectors()`

### getOwnedConnector

    Connector getOwnedConnector(java.lang.String name)

  Retrieves the first `Connector` with the specified 'Name' from the 'Owned Connector' containment reference list.

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

### getOwnedConnector

    Connector getOwnedConnector(java.lang.String name,
                                boolean ignoreCase,
                                boolean createOnDemand)

  Retrieves the first `Connector` with the specified 'Name' from the 'Owned Connector' containment reference list.

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

### validateMultiplicities

    boolean validateMultiplicities(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                   java.util.Map<java.lang.Object,java.lang.Object> context)

  The multiplicities on connected elements must be consistent. true

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

### createOwnedAttribute

    Property createOwnedAttribute(java.lang.String name,
                                  Type type,
                                  int lower,
                                  int upper)

  Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier.

  Parameters:
    `name` - The name for the new attribute, or null.
    `type` - The type for the new attribute, or null.
    `lower` - The lower bound for the new attribute.
    `upper` - The upper bound for the new attribute.

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