uk.ac.ucl.cs.uml.jmi.Foundation.Core
Interface Generalization

All Superinterfaces:
Element, ExtObject, ModelElement, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject, Relationship
All Known Implementing Classes:
Generalization_Impl

public interface Generalization
extends Relationship

A generalization is a taxonomic relationship between a more general element and a more specific element. The more specific element is fully consistent with the more general element (it has all of its properties, members, and relationships) and may contain additional information. In the metamodel, a Generalization is a directed inheritance relationship, uniting a GeneralizableElement with a more general GeneralizableElement in a hierarchy. Generalization is a subtyping relationship (i.e., an Instance of the more general GeneralizableElement may be substituted by an Instance of the more specific GeneralizableElement). See Inheritance for the consequences of Generalization relationships.


Method Summary
 GeneralizableElement getChild()
          Designates a GeneralizableElement that is the specialized version of the parent GeneralizableElement.
 String getDiscriminator()
          Designates the partition to which the Generalization link belongs.
 GeneralizableElement getParent()
          Designates a GeneralizableElement that is the generalized version of the child GeneralizableElement.
 Classifier getPowertype()
          Designates a Classifier that serves as a powertype for the child element along the dimension of generalization expressed by the Generalization.
 void setChild(GeneralizableElement child)
          Setter for atomic property child)
 void setDiscriminator(String discriminator)
          Setter for atomic property discriminator)
 void setParent(GeneralizableElement parent)
          Setter for atomic property parent)
 void setPowertype(Classifier powertype)
          Setter for atomic property powertype)
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.ModelElement
getAsArgument, getBehavior, getClientDependency, getComment, getConstraint, getContainer, getDefaultElement, getIsSpecification, getName, getNamespace, getPackage, getPresentation, getReferenceTag, getSourceFlow, getStereotype, getSupplierDependency, getTaggedValue, getTargetFlow, getTemplate, getTemplateArgument, getTemplateParameter, getVisibility, setDefaultElement, setIsSpecification, setName, setNamespace, setTemplate, setVisibility
 
Methods inherited from interface uk.ac.ucl.cs.emofocl.jmi.reflect.extended.ExtObject
extAddObjectListener, extDeepCopy, extDeepCopy, extEquals, extRemoveObjectListener, extValueHash, extVisit
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getDiscriminator

String getDiscriminator()
                        throws javax.jmi.reflect.JmiException
Designates the partition to which the Generalization link belongs. All of the Generalization links that share a given parent GeneralizableElement are divided into disjoint sets (that is, partitions) by their discriminator names. Each partition (a set of links sharing a discriminator name) represents an orthogonal dimension of specialization of the parent GeneralizableElement. The discriminator need not be unique. The empty string is also considered as a partition name, therefore all Generalization links have a discriminator. If the set of Generalization links that have the same parent all have the same name, then the children in the Generalization links are GeneralizableElements that specialize the parent, and an instance of any of them is a legal instance of the parent. Otherwise an indirect instance of the parent must be a (direct or indirect) instance of at least one element from each of the partitions.

Throws:
javax.jmi.reflect.JmiException

setDiscriminator

void setDiscriminator(String discriminator)
                      throws javax.jmi.reflect.JmiException
Setter for atomic property discriminator)

Throws:
javax.jmi.reflect.JmiException

getChild

GeneralizableElement getChild()
                              throws javax.jmi.reflect.JmiException
Designates a GeneralizableElement that is the specialized version of the parent GeneralizableElement.

Throws:
javax.jmi.reflect.JmiException

setChild

void setChild(GeneralizableElement child)
              throws javax.jmi.reflect.JmiException
Setter for atomic property child)

Throws:
javax.jmi.reflect.JmiException

getParent

GeneralizableElement getParent()
                               throws javax.jmi.reflect.JmiException
Designates a GeneralizableElement that is the generalized version of the child GeneralizableElement.

Throws:
javax.jmi.reflect.JmiException

setParent

void setParent(GeneralizableElement parent)
               throws javax.jmi.reflect.JmiException
Setter for atomic property parent)

Throws:
javax.jmi.reflect.JmiException

getPowertype

Classifier getPowertype()
                        throws javax.jmi.reflect.JmiException
Designates a Classifier that serves as a powertype for the child element along the dimension of generalization expressed by the Generalization. The child element is therefore an instance of the powertype element.

Throws:
javax.jmi.reflect.JmiException

setPowertype

void setPowertype(Classifier powertype)
                  throws javax.jmi.reflect.JmiException
Setter for atomic property powertype)

Throws:
javax.jmi.reflect.JmiException