⌛⌛ JSON & JavaDoc

Palautus koostuu Maven-projektista. Hae tehtävän materiaalit ``student_template_project``sta.

Tässä tehtävässä kokeillaan pakkauksen sisältämien luokkien dokumentointia JavaDoc-työkalulla. Tehtävän pohjana käytetään aiemman JSON-tehtävän luokkia Node, ArrayNode, ObjectNode ja ValueNode lähes sellaisenaan.

Tehtävän materiaaleissa on annettuna mallidokumentaatio. Tehtäväsi on organisoida ja muokata luokat Node, ArrayNode, ObjectNode ja ValueNode sellaisiksi, että Javan javadoc-työkalu luo niiden pohjalta samanlaisen dokumentaation kuin annettu mallidokumentaatio.

Tässä tulee siis toisaalta lisätä asianmukaiset JavaDoc-kommentit ja toisaalta huomata, että mallidokumentaatio edellyttäää luokkiin pieniä muutoksia verrattuna aiempaan JSON-tehtävään.

  • Luokat on määritetty kuulumaan pakkaukseen fi.tuni.prog3.json.

  • Luokat ArrayNode, ObjectNode ja ValueNode omaavat nyt määreen final.

  • Luokilla ArrayNode ja ObjectNode on nyt eksplisiittisesti määritetyt rakentimet (jotta niille voidaan määrittää JavaDoc-kommentit).

  • Osa jäsenfunktioista on nyt määritetty heittämään poikkeus.

  • Luokalla Node ei ole (pakko olla) tulostusfunktioita.

    • Voit joko poistaa tulostusfunktiot kokonaan, tehdä niistä yksityisiä tai määrittää niille @hidden-JavaDoc-kommentit.

Koodiasi käsitellään maven-projektina ja minimivaatimus on, että koodisi sijaitsee alihakemistossa src/main/java noudattaen pakkausmääritysten mukaista alihakemistorakennetta. Tässä tehtävässä ei testata luokkien toiminnallisuutta sinänsä, mutta koodin tulee kääntyä.

Testauksesta

Tarkistin pyrkii tutkimaan, että palauttamistasi kooditiedostoista generoitu JavaDoc-dokumentaatio vastaa annettua mallidokumentaatiota. Tarkistus koskee tarkemmin ottaen dokumentaation alihakemistossa apidocs/fi/tuni/prog3/json olevia HTML-tiedostoja (joita voit tarkastella tavalliseen tapaan selaimella ja verrata koodistasi tuotettua dokumentaatiota mallidokumentaatioon).

Tarkistuksen mahdollisen hyvän onnistumisen kannalta on suositeltavaa, että kopioit JavaDoc-kommenttien tekstit sellaisenaan mallidokumentaatiosta.

Vaikka palautus pyydetään Maven-projektina, sinun ei ole tehtävää tehdessäsi pakko käyttää Mavenia dokumentaation generoimiseen. Voit generoida JavaDoc-dokumentaation omalla koneellasi ilman Mavenia suoraan javadoc-työkalulla esim. tapaan javadoc -d apidocs -sourcepath src/main/java fi.tuni.prog3.json ja verrata alihakemistoon apidocs/fi/tuni/prog3/json luotuja HTML-tiedostoja mallidokumentaation vastaaviin tiedostoihin.

Huomioi kuitenkin ylempänä mainittu seikka, että koodisi tulee kääntyä. Tarkistin kääntää koodisi Mavenilla tapaan mvn package sekä generoi siitä JavaDoc-dokumentaation. Maven-projektisi projektitiedoston sisällöllä ei ole tämän suhteen merkitystä, sillä tarkistin joka tapauksessa käyttää käännöksessä omaa projektitiedostoaan.

A+ esittää tässä kohdassa tehtävän palautuslomakkeen.