title: XDoclet
text: 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.
  
  Voorbeeld
  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 
  
  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 
  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 
  
  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.
  
  Externe links 
    XDoclet op SourceForge.net
    XDoclet 2 (gearchiveerd)
  
  Computerbibliotheek
  Opensourcesoftware en vrije software
  Software geschreven in Java