⌛⌛ Standings & JavaDoc

Submit your code as a Maven project. Fetch task material from student_template_project.

Also this task concerns creating JavaDoc documentation for classes. This task will use the class Standings (and its inner class Team) from a previous Standings task almost as such.

The task material provides an example JavaDoc documentation. You should reorganize and modify the classes Standings and Team in such manner that Java’s javadoc tool will generate documentation similar to the provided example documentation.

You should on one hand add suitable JavaDoc comments into the code files, and on the other hand also do some small modifications: the example documentation reflects some changes in comparison to the previous Standings task.

  • The classes now belong to the package fi.tuni.prog3.standings.

  • Some member functions declare specific thrown exception types.

  • The member function getTeams returns a List<Team> instead of ArrayList<Team>.

    • This allows the implementation to use internally any type of list that implements the interface List instead of being tied to use specifically ArrayList.

  • The member function printStandings now received a PrintStream object as a parameter.

Your code will be handled as a Maven project. The minimum requirement is that the code must reside in the directory src/main/java and follow the usual package-based directory structure. The actual functionality of the classes will not be tested, but the code must compile without errors.

In this task you should note that:

  • The package fi.tuni.prog3.standings does not need a separate package.info.java file as the example documentation does not provide any description for it.

  • The description of the class Standings contains a bulleted list. Note that JavaDoc comments may contain HTML formatting, so you may use the ul element: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul

  • The description of the class Standings constructor contains a link to the description of the member function readMatchData. You may create one by using a JavaDoc link annotation:

https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/doc-comment-spec.html#link

Testing

The grader seeks to check whether the JavaDoc documentation generated from your code files is similar with the provided example documentation. To be more precise, the check concerns the HTML files in the subdirectory apidocs/fi/tuni/prog3/standings (you may view the files in a browser and compare them with the example documentation).

In order to make the documentation checks work smoothly, it is highly recommended that you copy-paste the JavaDoc comment texts more or less directly from the example documentation.

Although your submission should consist of a Maven project, you do not have to use Maven for generating the JavaDoc documentation on your own computer. You may instead use the javadoc tool directly e.g. as javadoc -d apidocs src/main/java/fi/tuni/prog3/standings/Standings.java and then compare the HTML files in the directory apidocs/fi/tuni/prog3/standings with the corresponding files in the example documentation.

But as mentioned further above, your code does need to compile without errors. The grader will both compile your code with Maven as mvn package and generate the JavaDoc documentation. There are no special requirements regarding your Maven project file; the grader will anyway use its own project file when compiling your code.

A+ presents the exercise submission form here.