b'\n_START_ARTICLE_\nXDoclet\n_START_PARAGRAPH_\nXDoclet \xe2\x80\x93 atviro kodo \xc4\xafrankis naujiems programos fragmentams bei kitokiems jos dokumentams (pavyzd\xc5\xbeiui, XML dalims) automati\xc5\xa1kai generuoti pagal esamo Java kalba para\xc5\xa1yto modulio (klas\xc4\x97s) anotacijas. XDoclet anotacija yra sutarta specifine forma u\xc5\xbera\xc5\xa1ytas visos klas\xc4\x97s ar kurio nors klas\xc4\x97s metodo komentaras._NEWLINE_XDoclet da\xc5\xbeniausiai naudojamas J2EE pagalbin\xc4\x97ms klas\xc4\x97ms automati\xc5\xa1kai generuoti. Dauguma J2EE \xe2\x80\x9epup\xc5\xb3\xe2\x80\x9c turi bent po dvi pagalbines klases (tolim\xc4\x85 arba lokal\xc5\xb3 interfeis\xc4\x85 ir tolimus arba lokalius namus) ir dar turi b\xc5\xabti tinkamai apra\xc5\xa1yta visoms pupoms bendrame XML dokumente. XDoclet gali automati\xc5\xa1kai generuoti abu interfeisus, abiej\xc5\xb3 tip\xc5\xb3 \xe2\x80\x9enamus\xe2\x80\x9c, XML apra\xc5\xa1\xc4\x85 ir, jei reikia, kitas pagalbines klases. Taip sutaupoma daug programavimo laiko. Be to, programuotojas gali susitelkti ties viena klase su XDoclet anotacijomis: to paties keitimo (tarkim, naujo metodo \xc4\xafvedimo) nereikia atlikti visose su tuo susijusiose pagalbin\xc4\x97se klas\xc4\x97se._NEWLINE_Lomboz projekte XDoclet integruota \xc4\xaf grafin\xc4\x99 vartotojo s\xc4\x85s\xc4\x85j\xc4\x85 ir prireikus vykdomas automati\xc5\xa1kai. XDoclet taip pat gali b\xc5\xabti vykdoma kaip Ant u\xc5\xbeduotis._NEWLINE_Kadangi XDoclet modulius nesunku para\xc5\xa1yti, \xc5\xa1i sistema intensyviai vystosi ir \xc5\xa1iuo metu turi daug labai \xc4\xafvairios paskirties moduli\xc5\xb3. XDoclet generuoja ir konkre\xc4\x8diam serveriui (JOnAS, JBoss ir kit) reikalingus specifinius, papildomus XML apra\xc5\xa1us.\n_START_SECTION_\nPavyzdys\n_START_PARAGRAPH_\nIlgalaik\xc4\x97s (duomen\xc5\xb3 baz\xc4\x97je i\xc5\xa1saugomos) pupos antra\xc5\xa1t\xc4\x97 su XDoclet \xc5\xbeym\xc4\x97mis gali atrodyti taip:_NEWLINE__NEWLINE_/**_NEWLINE_ * \xc4\x8cia yra banko saskaitos ilgalaik\xc4\x97 pupa. Tai pavyzdys, kaip naudoti XDoclet \xc5\xbeymes._NEWLINE_ *_NEWLINE_ * @ejb.bean_NEWLINE_ *     name="bankas/saskaita"_NEWLINE_ *     type="CMP"_NEWLINE_ *     jndi-name="ejb/bankas/saskaita"_NEWLINE_ *     local-jndi-name="ejb/bankas/LocalSaskaita"_NEWLINE_ *     primkey-field="pasoNumeris"_NEWLINE_ *     schema = "Klientai"_NEWLINE_ *_NEWLINE_ * @ejb.finder_NEWLINE_ *     signature="java.util.Collection findAll()"_NEWLINE_ *     unchecked="true"_NEWLINE_ *_NEWLINE_ * @ejb.finder signature="java.util.Collection findPagalVarda(java.lang.String name)" _NEWLINE_ *             unchecked="true"_NEWLINE_ *             query= "SELECT OBJECT(o) FROM Klientai AS o WHERE o.vardas_NEWLINE_ *             LIKE ?1"_NEWLINE_ *_NEWLINE_ * @ejb.transaction_NEWLINE_ *     type="Required"_NEWLINE_ */'