Écriture de Transformations - Transformation de Connecteurs


La création de connecteurs dans une transformation peut être complexe, mais il suit la même forme que la création d'éléments. La différence est que vous devez aussi spécifier chaque fin.

Les connecteurs différents qui peuvent être créés sont comme suit.

  • Aggregation (Accumulation)
  • Assembly (Assemblée)
  • Association
  • Collaboration
  • ControlFlow
  • Connector (Connecteur)
  • Delegate (Délégué)
  • Dependency (Dépendance)
  • Deployment (Déploiement)
  • ERLink (ERLien)
  • ForeignKey (Clé Étrangère)
  • Generalization (Généralisation)
  • Instantiation
  • Interface
  • InteruptFlow (InteruptFlux)
  • Manifest
  • Nesting (Emboîtement)
  • NoteLink (NoteLien)
  • ObjectFlow (ObjetFlux)
  • Package (Paquetage)
  • Realisation (Réalisation)
  • Sequence
  • StateFlow (Flux d'État)
  • Uses (Utilisations)

Notez: ForeignKey (Clé Étrangère) est un cas spécial où non juste un connecteur est créé : vous devez aussi inscrire les colonnes impliquées dans la transformation.

Les connecteurs peuvent être créés entre n'importe quelles deux classes qui ont précédemment été créées par une transformation (il ne doit pas être la même transformation). Est tout ce que vous devez savoir:

  • La Classe originale GUID.
  • Le nom de la transformation
  • Le nom de la classe transformée.

L'exemple le plus facile de c'est à ce moment-là que vous avez créé des classes multiples d'une classe seule dans une transformation et voulez un lien entre eux. Considérez cet exemple de la transformation d'Entité EJB:

Dépendance  
{  
%TRANSFORM_REFERENCE("EJBRealizeHome",classGUID)%  
stereotype="EJBRealizeHome"  
Source  
{  
%TRANSFORM_REFERENCE("EJBEntityBean",classGUID)%  
}  
Target (Cible)  
{  
%TRANSFORM_REFERENCE("EJBHomeInterface",classGUID)%  
}  
}  

Il y a trois utilisations de le macro TRANSFORM_REFERENCE, l'une pour identifier ce connecteur à des fins de synchronisation et les deux autres pour identifier les fins. Tous trois utilisent la même source GUID, parce qu'ils viennent tous de l'un classe d'origine. Aucun des trois besoin de spécifier la transformation parce que les deux références font référence à quelque chose dans la transformation actuelle. Chacun d'entre eux suffit alors d'identifier le nom de transformer.

Bien sûr il est aussi possible de créer un connecteur d'un autre connecteur.

Vous pouvez créer un gabarit de connecteur et inscrire sur tous les connecteurs connectés à une classe des gabarits de niveau de classe. Vous ne devez pas vous inquiéter de seulement la production de cela une fois, comme si vous avez créé un TRANSFORM_REFERENCE pour le connecteur puis Enterprise Architect sera automatiquement synchroniser. Les copies du connecteur de la source suivante.

%connectorType%  
{  
%TRANSFORM_CURRENT()%  
%TRANSFORM_REFERENCE("Connector",connectorGUID)%  
Source  
{  
%TRANSFORM_REFERENCE("Class",connectorSourceGUID)%  
%TRANSFORM_CURRENT("Source")%  
}  
Target (Cible)  
{  
%TRANSFORM_REFERENCE("Class",connectorDestGUID)%  
%TRANSFORM_CURRENT("Target")%  
}  
}