Interface Conjugation

All Superinterfaces:
BaseElement, Cloneable, Comparable, Element, org.eclipse.emf.ecore.EObject, ModelElement, com.dassault_systemes.modeler.modelextension.model.modelextension.ModelExtensionObject, org.eclipse.emf.common.notify.Notifier, Relationship
All Known Subinterfaces:
PortConjugation

@OpenApiAll public interface Conjugation extends Relationship

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.

A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not also be the specific Type in any Specialization relationship.

  • Method Details

    • getOriginalType

      @CheckForNull Type getOriginalType()

      The Type to be conjugated.

      Returns:
      the originalType value
      Model:
      derived="false" transient="false" oppositeRoleName="conjugation" redefines=Relationship.getTarget()
    • setOriginalType

      void setOriginalType(@CheckForNull Type value)

      The Type to be conjugated.

      Parameters:
      value - the originalType value
      Model:
      derived="false" transient="false" oppositeRoleName="conjugation" redefines=Relationship.getTarget()
    • getConjugatedType

      @CheckForNull Type getConjugatedType()

      The Type that is the result of applying Conjugation to the originalType.

      Returns:
      the conjugatedType value
      Model:
      derived="false" transient="false" oppositeRoleName="conjugator" redefines=Relationship.getSource()
    • setConjugatedType

      void setConjugatedType(@CheckForNull Type value)

      The Type that is the result of applying Conjugation to the originalType.

      Parameters:
      value - the conjugatedType value
      Model:
      derived="false" transient="false" oppositeRoleName="conjugator" redefines=Relationship.getSource()
    • getOwningType

      @CheckForNull Type getOwningType()

      The conjugatedType of this Conjugation that is also its owningRelatedElement.

      Returns:
      the owningType value
      Model:
      derived="true" transient="true" opposite=Type.getOwnedConjugator() subsets=getConjugatedType(), Relationship.getOwningRelatedElement()