RFR: JDK-8276964: Better indicate a snippet that could not be processed [v2]

Jonathan Gibbons jjg at openjdk.java.net
Mon Nov 29 19:09:11 UTC 2021


On Mon, 29 Nov 2021 15:04:30 GMT, Hannes Wallnöfer <hannesw at openjdk.org> wrote:

>> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java line 540:
>> 
>>> 538:             return HtmlTree.SPAN(HtmlStyle.invalidTag, Text.of(summary));
>>> 539:         }
>>> 540:         return new HtmlTree(TagName.DETAILS).addStyle(HtmlStyle.invalidTag)
>> 
>> This 3-state detail bothers me:
>> 
>>   1. The detail is absent (i.e. the optional is empty)
>>   2. The detail is a blank
>>   3. The detail is non-blank
>> 
>> If we care about a blank detail (i.e. an error description that consists only of whitespace), then why treat it like an absent detail and omit it from the documentation? If we don't care about a blank detail, then why wrap it in an `Optional` when a blank string would do?
>
> It's not meant to be "part of the method spec", it's just that it's silly to display a summary/detail box unless you have something to show in the details. Think of it as a very trivial application of Postel's law. BTW, this kind of flexibility in choosing the appropriate container is one of the things that led me to choose `Optional` argument instead of overloaded methods. It just looks nicer to my eyes.

I'd be inclined for either `detail` to be `Optional<Content>` or for there to be an overload that allows `Optional<String>` that calls the sibling with `Optional<Content>`

-------------

PR: https://git.openjdk.java.net/jdk/pull/6579


More information about the javadoc-dev mailing list