XDoclet is een open-source bibliotheek voor het genereren van broncode, die attribuut-georiënteerd programmeren voor Java mogelijk maakt. XDoclet maakt hiervoor gebruik van speciale Javadoc-tags die in de code worden ingevoegd. Er wordt een bibliotheek van voorgedefinieerde tags meegeleverd, die het coderen voor verschillende technologieën, zoals JavaEE, Web services, Portlet, etc., vereenvoudigen.

XDoclet
Recentste versie 1.2.3 
(5 mei 2005)
Status Inactief
Besturingssysteem Multiplatform
Geschreven in Java
Categorie Bibliotheek
Licentie(s) BSD-licentie
Website (en) XDoclet op SourceForge.net
Portaal  Portaalicoon   Informatica
Vrije software

Voorbeeld

bewerken

Een typisch XDoclet commentaar zou er zo uit kunnen zien:

/**
 * This is the Account entity bean. It is an example of how to use the
 * EJBDoclet tags.
 *
 * @see Customer
 *
 * @ejb.bean
 *     name="bank/Account"
 *     type="CMP"
 *     jndi-name="ejb/bank/Account"
 *     local-jndi-name="ejb/bank/LocalAccount"
 *     primkey-field="id"
 *
 * @ejb.finder
 *     signature="java.util.Collection findAll()"
 *     unchecked="true"
 *
 * @ejb.transaction
 *     type="Required"
 *
 * @ejb.interface
 *     remote-class="test.interfaces.Account"
 *
 * @ejb.value-object
 *     match="*"
 *
 * @version 1.5
 */

Voorbeeld: XDoclet in een J2EE-Context

bewerken

Voor het maken van een Enterprise Java Bean zijn ten minste de bean-implementatie, de remote-interface en de home-interface nodig. Eventueel is nog een local en een local home-interface nodig. Per applicatieserver heeft men daarbij nog een Deployment-Descriptor, of een Assembly-Descriptor of beide nodig. De descriptoren kunnen per applicatie-server, of zelfs per individuele toepassing verschillen. Alles bij elkaar zijn de volgende bestanden mogelijk:

  • Bean-Implementatie
  • Remote-Interface
  • Home-Interface
  • Local-Interface
  • LocalHome-Interface
  • Deployment-Descriptor
  • Assembly-Descriptor

Met behulp van XDoclet hoeft de programmeur in het eenvoudigste geval alleen de bean-implementatie zelf maken, en voorzien van nieuwe tags. XDoclet genereert de overige bestanden automatisch

Voorbeeldheader

bewerken

Dit voorbeeld toont de toepassing van XDoclet in een J2EE omgeving. Het is een fragment uit een EJB

 /** Hier kan de beschrijving van de klasse staan.
  * 
  * XDoclet Begin 
  * @ejb.bean name="NameDerBean"
  * display-name="Bean 123"
  * description="Diese Bean wird für XY verwendet"
  * jndi-name="ejb/NameDerBean"
  * type="Stateless"
  * view-type="both"
  * XDoclet Einde

Toekomst

bewerken

Met de introductie van annotaties in Java 1.5 is de toekomst van XDoclet onzeker. De mogelijkheden van annotaties vervangen XDoclet vrijwel volledig, maar moeten eerst nog door de Tool makers en third parties correct geïmplementeerd worden. Dit is bij de huidige stand van de ontwikkeling (begin 2006) de nog niet gepubliceerde J2EE 5 nog niet het geval. Bovendien moet afgewacht worden, of de implementaties van de Tool makers net zo eenvoudig en flexibel en makkelijk aangepast en uitgebreid kunnen worden als bij het opensourceproject XDoclet. Een portatie van de XDoclet Taggs naar annotations lijkt eenvoudig te zijn.

bewerken