Lorsque vous définissez une classe de mise en oeuvre, les détails de la mise en oeuvre de l'association sont toujours générés dans les classes d'origine et/ou de destination de l'association navigable.
Les détails de la mise en oeuvre d'une association ne sont pas générés dans le code de l'association, en revanche la génération utilise des balises de documentation spécifiques pour stocker les informations relatives à l'association. Ces balises de commentaire rassemblent tous les détails requis pour recréer l'association à l'issue d'un reverse engineering. Les balises de commentaires de documentation sont traitées lors du reverse engineering afin de rendre possible l'ingénierie par va-et-vient.
Les balises de documentation suivantes sont utilisées :
pdRoleInfo permet d'extraire le nom du classificateur, le type de conteneur, la classe de mise en oeuvre, la multiplicité et le type d'association.
pdGenerated est utilisé pour signaler les fonctions générées automatiquement liées à la mise en oeuvre de l'association. Ces fonctions ne doivent pas faire l'objet d'un reverse engineering, faute de quoi les modèles générés et récupérés via reverse engineering seront différents.
La syntaxe de tag javadoc est utilisée /**@valeur balise*/.
Dans l'exemple suivant, la balise @pdRoleInfo est utilisée pour stocker des détails de la mise en oeuvre d'association, et @pdGenerated est utilisée pour indiquer que la méthode getter est automatiquement générée et ne doit pas faire l'objet d'un reverse engineering.
/**@pdRoleInfo name=Person coll=java.util.Collection impl=java.util.LinkedList mult=1..* */ public java.util.Collection employee; /** @pdGenerated default getter */ public java.util.Collection getEmployee() { if (employee == null) employee = new java.util.HashSet(); return employee; } ...
La balise de documentation ///<valeur balise /> est utilisée.
Dans l'exemple suivant, la balise <pdRoleInfo> est utilisée pour stocker les détails de mise en oeuvre d'association, et <pdGenerated> est utilisée pour indiquer que la méthode getter est automatiquement générée et ne doit pas faire l'objet d'un reverse engineering.
///<pdRoleInfo name='Person' coll='System.CollectionsArrayList' impl='java.util.LinkedList' mult='1..*' type='composition'/> public java.util.Collection employee; ///<pdGenerated> default getter </pdGenerated> ...
La balise de documentation "<valeur balise /> est utilisée.
Dans l'exemple suivant, la balise <pdRoleInfo> est utilisée pour stocker les détails de la mise en oeuvre d'association, et <pdGenerated> est utilisée pour indiquer que la méthode getter est automatiquement générée et ne doit pas faire l'objet d'un reverse engineering.
"<pdRoleInfo name='Person' coll='System.CollectionsArrayList' impl='java.util.LinkedList' mult='1..*' type='composition'/> public java.util.Collection employee; "<pdGenerated> default getter </pdGenerated> ...