sample javadoc output for records and sealed types.
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Oct 11 19:32:02 UTC 2019
I've added two new examples, for a serializable record
(SerializablePoint) and a serializable type with a record for a
serialization proxy (SerializableProxy): the name for that one is
intended to be description of the example, although admittedly, it is
not a particularly good name for the functionality of the class!
The sample output has been updated in place.
-- Jon
On 10/10/19 5:00 PM, Jonathan Gibbons wrote:
> I've posted the javadoc output from some small examples of records and
> sealed types.
>
> Three of the examples, Point, BinaryNode and Holder, were suggested by
> Brian as
> commonly used examples. The last example, Coords, declares a sealed
> type with
> two different records as subtypes, just to show how the features can
> be used together.
>
> You can find the output here:
>
> 1.
> http://cr.openjdk.java.net/~jjg/amber-records-and-sealed-types/api-no-link/
>
>
> This is output from a "simple" run of javadoc, that does not link to
> JDK documentation.
> In this version, references into java.base etc show up as unlinked
> monospaced text.
>
> 2.
> http://cr.openjdk.java.net/~jjg/amber-records-and-sealed-types/api-with-link/
>
> This is the output from a similar run of javadoc (same examples),
> but this time the
> -linkoffline option was used so that references into java.base are
> linked as you would expect.
>
>
> In both cases, I also used the "-linksource" option, so that you can
> also see the original
> source file. Look for the link in the declaration of the type name
> near the top of each page.
> For example, click on "Foo" where you see "public record Foo", etc.
>
> You can also see the raw source files here:
> http://cr.openjdk.java.net/~jjg/amber-records-and-sealed-types/src/
>
> ------
>
> Discussion:
>
> Currently, the generated documentation consistently uses the full
> phrase "record components"
> when referencing record components. This means that some of the
> generated text feels a
> little clunky. I see that in some of the hard-written doc comments
> (e.g. on java.lang.Record)
> the phrase is shortened to just "component" when the context is
> obvious. Do we want to do
> the same here? Are there any guidelines on the terminology?
>
> Currently, following established historical precedent, records appear
> in their own group
> on the package page, alongside individual groups for classes,
> interfaces, enums, exceptions,
> errors and annotation types. For example, look at the docs for any
> recent version of java.lang:
> https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/package-summary.html
>
> It may be that 7 (!!) groups is a few too many, and that maybe we
> should reorganize these pages
> a bit, perhaps moving towards a tabbed table, of the sort we use on
> other pages. But whether
> or not we do anything is out of scope for this project, and should be
> handled separately, as a
> distinct enhancement for javadoc.
>
> -- Jon
>
>
More information about the amber-spec-experts
mailing list