Now it looks OK for CCC request:
http://ccc.us.oracle.com/docs/process

Thanks,
SAM

On 30.04.2014 2:54, Steve Sides wrote:
Hopefully 4th time's a charm.

Review Request for 8040893: fix doclint block tag issues in swing border classes, rev 4:

http://cr.openjdk.java.net/~ssides/8040893/8040893.4/

-steve

On 4/25/2014 9:22 AM, sergey malenkov wrote:

On 25.04.2014 20:03, sergey malenkov wrote:
Hi Steve,

We should not confuse the cause and the result.

The getShadowOuterColor method is a property of this Border object.
Actually this object does not know about the component.
So, we can say here that the color will be derived from background.
!!! can't say

The getShadowOuterColor(Component) method is an utility method,
that provides all calculations to resolve the null value of the property.
Here we specify that the *somehow modified* background color
will be used if the shadowOuterColor property is not set.

Thanks,
SAM

On 24.04.2014 20:41, Steve Sides wrote:
Hi Sergey,
I see what you mean. I have a question on some of the BevelBorder method docs. Regarding the getHighlight(or Shadow)Inner/Outer)Color() methods (no parameter) http://cr.openjdk.java.net/~ssides/8040893/8040893.3/src/share/classes/javax/swing/border/BevelBorder.java.sdiff.html

For the methods which take a Component parameter, it is commented the color is derived from the Component's background, so these always return some Color. For the methods which take no Component parameter, they return null if the color is derived from the background(ie., not specified at instantiation).

My question is, are comments like

201 * @return the outer highlight {@code Color} or {@code null} if highlight
 202      *         colors are derived from background

seen as referring too much to the implementation or clarifying statements? If it simply says "...or {@code null} is none was specified", it leaves it unclear if there is a highlight or shadow color.

It seems that the javadoc comment could have said

* Returns the outer highlight color of the bevel border.
* If none was specified at instantiation, the highlight
* color is derived from the background.

Then the return could have said, "or null if none was specified" and there would be more clarity.

Or, do we not want that kind of implementation detail revealed at all?

-steve


On 4/24/2014 4:39 AM, sergey malenkov wrote:
Hello,

I don't think that it is a good idea to specify current implementation.
For example,

      * Returns whether or not the border is opaque.
+     *
+ * @return true if {@code color} is not {@code null}, false if {@code color}
+     *         is {@code null}

Once it is specified we never can fix it.
For example, the MatteBorder.isBorderOpaque method, specified above,
can be fixed in the following way:
+ * @return true if the internal color is not null *and uses alpha-channel*.

So I suggest to rewrite it's documentation in the following way:
      * Returns whether or not the border is opaque.
+    *
+    * @return {@code true} if this border is opaque,
+    *                 {@code false} otherwise

The same issue with other similar methods.

Thanks,
SAM

On 23.04.2014 21:49, Steve Sides wrote:
this has the noted change for getEtchType():

http://cr.openjdk.java.net/~ssides/8040893/8040893.3/

-steve

On 4/22/2014 2:03 AM, Alexander Scherbatiy wrote:
On 4/21/2014 11:54 PM, Steve Sides wrote:

On 4/21/2014 2:45 AM, Alexander Scherbatiy wrote:

Hello Steve,

------------------------
     /**
      * Returns the type of the bevel border.
+     *
+ * @return 0 if the bevel type is {@code RAISED}, 1 if {@code LOWERED}
      */
------------------------

I think such description reveals unnecessary level of code abstraction. Developers always need to use BevelBorder.RAISED and BevelBorder.LOWERED constant and never their numerical representation. It would better to say that the method return the bevel type: RAISED or LOWERED.
I thought about that, but the method signature is
public *int*getBevelType()
and I wasn't sure if saying it returns "RAISED or LOWERED" clearly matched the signature. I will make it so.

   This looks good.
There is the javadoc for the BorderLayout.addLayoutComponent(Component comp, Object constraints) method that says: "For border layouts, the constraint must be one of the following constants: NORTH, SOUTH, EAST, WEST, or CENTER." and does not mention that NORTH constant is actually the "North" String.
http://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html

Could you also update the javadoc for the EtchedBorder.getEtchType() method in the same way?



------------------------
     /**
      * Returns whether or not the border is opaque.
+     *
+     * @return true
      */
     public boolean isBorderOpaque() { return true; }
------------------------
It would better to also add the similar comment from the parent AbstractBorder class like: "This implementation returns true". It seems that the "code" tag can be used with boolean values: {@code true}

okay, http://cr.openjdk.java.net/~ssides/8040893/8040893.2/ has changes for above

   This version looks good for me.

  Thanks,
  Alexandr.

thanks for the quick feedback,

-steve


Thanks,
Alexandr.

On 4/18/2014 2:48 AM, Steve Sides wrote:
Hello,

Could you please review the fix for the following bug:
https://bugs.openjdk.java.net/browse/JDK-8040893

Webrev corresponding:
http://cr.openjdk.java.net/~ssides/8040893/

webrevComment.txt:
This addresses missing @parm and @return block tags in javadoc for
javax/swing/border classes as noted by doclint.

It does not address methods which are missing javadoc comment altogether,
of which there are many.

It also a adds @return to isBorderOpaque() methods which were incorrectly
inheriting the default, @return false, from AbstractBorder.


thanks,

-steve











Reply via email to