Re: JavaFX JavaDoc and IDEs
Hi Kevin, I guess there's no formal spec for this? Maybe at least http://download.java.net/jdk8/docs/technotes/tools/windows/javadoc.html should mention this? Maybe this impossible because FX is JSRed? Tom On 17.12.13 23:48, Kevin Rushforth wrote: > That's basically what the doclet does. Here is the JDK JIRA for this > (first introduced in 7u6...I hadn't remembered it was that early): > > https://bugs.openjdk.java.net/browse/JDK-7112427 > > And here is the JDK 8 changeset that implements it: > > http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ccbe7ffdd867 > > -- Kevin > > > Tom Schindl wrote: >> So you say the IDEs must learn that when they encounter a method which >> has no JavaDoc to search for the property definition and show that one? >> >> Tom >> >> On 17.12.13 23:12, Kevin Rushforth wrote: >> >>> Actually, the JDK 8 doclet that handles this automatically. They added >>> support for FX-style properties, among other things, in JDK 8 so we no >>> longer have a custom doclet for FX. >>> >>> -- Kevin >>> >>> >>> Tom Schindl wrote: >>> Hi, I can't speak for Netbeans and IntelliJ but now that JavaFX ships the source with the JDK and Eclipse recgonizes this there's a "small" problem with the way JavaFX is using JavaDoc. Take for example Window#onCloseRequest > /** > * Called when there is an external request to close this {@code > Window}. > * The installed event handler can prevent window closing by > consuming the > * received event. > */ > private ObjectProperty> onCloseRequest; > public final void setOnCloseRequest(EventHandler value) { > onCloseRequestProperty().set(value); > } > public final EventHandler getOnCloseRequest() { > return (onCloseRequest != null) ? onCloseRequest.get() : null; > } > public final ObjectProperty> > onCloseRequestProperty() { > > You'll notice that the documentation is only made on the property but not on the real API methods. I guess the build process copies the documentation somehow at the right position when generating the doc (see http://docs.oracle.com/javafx/2/api/javafx/stage/Window.html#setOnCloseRequest%28javafx.event.EventHandler%29) which doesn't help people with an (Eclipse)IDE which takes the source code as the authority and presents an empty JavaDoc window :-( This is a major feature loss! Tom >> >>
Re: JavaFX JavaDoc and IDEs
That's basically what the doclet does. Here is the JDK JIRA for this (first introduced in 7u6...I hadn't remembered it was that early): https://bugs.openjdk.java.net/browse/JDK-7112427 And here is the JDK 8 changeset that implements it: http://hg.openjdk.java.net/jdk8/jdk8/langtools/rev/ccbe7ffdd867 -- Kevin Tom Schindl wrote: So you say the IDEs must learn that when they encounter a method which has no JavaDoc to search for the property definition and show that one? Tom On 17.12.13 23:12, Kevin Rushforth wrote: Actually, the JDK 8 doclet that handles this automatically. They added support for FX-style properties, among other things, in JDK 8 so we no longer have a custom doclet for FX. -- Kevin Tom Schindl wrote: Hi, I can't speak for Netbeans and IntelliJ but now that JavaFX ships the source with the JDK and Eclipse recgonizes this there's a "small" problem with the way JavaFX is using JavaDoc. Take for example Window#onCloseRequest /** * Called when there is an external request to close this {@code Window}. * The installed event handler can prevent window closing by consuming the * received event. */ private ObjectProperty> onCloseRequest; public final void setOnCloseRequest(EventHandler value) { onCloseRequestProperty().set(value); } public final EventHandler getOnCloseRequest() { return (onCloseRequest != null) ? onCloseRequest.get() : null; } public final ObjectProperty> onCloseRequestProperty() { You'll notice that the documentation is only made on the property but not on the real API methods. I guess the build process copies the documentation somehow at the right position when generating the doc (see http://docs.oracle.com/javafx/2/api/javafx/stage/Window.html#setOnCloseRequest%28javafx.event.EventHandler%29) which doesn't help people with an (Eclipse)IDE which takes the source code as the authority and presents an empty JavaDoc window :-( This is a major feature loss! Tom
Re: JavaFX JavaDoc and IDEs
So you say the IDEs must learn that when they encounter a method which has no JavaDoc to search for the property definition and show that one? Tom On 17.12.13 23:12, Kevin Rushforth wrote: > Actually, the JDK 8 doclet that handles this automatically. They added > support for FX-style properties, among other things, in JDK 8 so we no > longer have a custom doclet for FX. > > -- Kevin > > > Tom Schindl wrote: >> Hi, >> >> I can't speak for Netbeans and IntelliJ but now that JavaFX ships the >> source with the JDK and Eclipse recgonizes this there's a "small" >> problem with the way JavaFX is using JavaDoc. >> >> Take for example Window#onCloseRequest >> >> >>> /** >>> * Called when there is an external request to close this {@code >>> Window}. >>> * The installed event handler can prevent window closing by consuming >>> the >>> * received event. >>> */ >>> private ObjectProperty> onCloseRequest; >>> public final void setOnCloseRequest(EventHandler value) { >>> onCloseRequestProperty().set(value); >>> } >>> public final EventHandler getOnCloseRequest() { >>> return (onCloseRequest != null) ? onCloseRequest.get() : null; >>> } >>> public final ObjectProperty> >>> onCloseRequestProperty() { >>> >> >> You'll notice that the documentation is only made on the property but >> not on the real API methods. >> >> I guess the build process copies the documentation somehow at the right >> position when generating the doc (see >> http://docs.oracle.com/javafx/2/api/javafx/stage/Window.html#setOnCloseRequest%28javafx.event.EventHandler%29) >> which doesn't help people with an (Eclipse)IDE which takes the source >> code as the authority and presents an empty JavaDoc window :-( >> >> This is a major feature loss! >> >> Tom >>
Re: JavaFX JavaDoc and IDEs
Actually, the JDK 8 doclet that handles this automatically. They added support for FX-style properties, among other things, in JDK 8 so we no longer have a custom doclet for FX. -- Kevin Tom Schindl wrote: Hi, I can't speak for Netbeans and IntelliJ but now that JavaFX ships the source with the JDK and Eclipse recgonizes this there's a "small" problem with the way JavaFX is using JavaDoc. Take for example Window#onCloseRequest /** * Called when there is an external request to close this {@code Window}. * The installed event handler can prevent window closing by consuming the * received event. */ private ObjectProperty> onCloseRequest; public final void setOnCloseRequest(EventHandler value) { onCloseRequestProperty().set(value); } public final EventHandler getOnCloseRequest() { return (onCloseRequest != null) ? onCloseRequest.get() : null; } public final ObjectProperty> onCloseRequestProperty() { You'll notice that the documentation is only made on the property but not on the real API methods. I guess the build process copies the documentation somehow at the right position when generating the doc (see http://docs.oracle.com/javafx/2/api/javafx/stage/Window.html#setOnCloseRequest%28javafx.event.EventHandler%29) which doesn't help people with an (Eclipse)IDE which takes the source code as the authority and presents an empty JavaDoc window :-( This is a major feature loss! Tom
JavaFX JavaDoc and IDEs
Hi, I can't speak for Netbeans and IntelliJ but now that JavaFX ships the source with the JDK and Eclipse recgonizes this there's a "small" problem with the way JavaFX is using JavaDoc. Take for example Window#onCloseRequest > /** > * Called when there is an external request to close this {@code Window}. > * The installed event handler can prevent window closing by consuming the > * received event. > */ > private ObjectProperty> onCloseRequest; > public final void setOnCloseRequest(EventHandler value) { > onCloseRequestProperty().set(value); > } > public final EventHandler getOnCloseRequest() { > return (onCloseRequest != null) ? onCloseRequest.get() : null; > } > public final ObjectProperty> > onCloseRequestProperty() { You'll notice that the documentation is only made on the property but not on the real API methods. I guess the build process copies the documentation somehow at the right position when generating the doc (see http://docs.oracle.com/javafx/2/api/javafx/stage/Window.html#setOnCloseRequest%28javafx.event.EventHandler%29) which doesn't help people with an (Eclipse)IDE which takes the source code as the authority and presents an empty JavaDoc window :-( This is a major feature loss! Tom