Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4526070
Votes 6
Synopsis stddoclet: Interface constants are missing in the Constant Field Values list
Category doclet:tbd
Reported Against 1.4 , merlin-beta2 , merlin-beta3
Release Fixed 1.4.1(hopper)
State 10-Fix Delivered, Verified, bug
Priority: 4-Low
Related Bugs 4522232 , 4531896 , 4638623
Submit Date 12-NOV-2001
Description




java version "1.4.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta3-b84)
Java HotSpot(TM) Client VM (build 1.4.0-beta3-b84, mixed mode)

JDK 1.4 Beta 3's JavaDoc generates a new extra list with all public Constant
Field Values. But it only shows Class constants there, Interface constants are
missing.

MyInterface.java:
package interfacetest;

public interface MyInterface {
  public final static int newField0 = 0;
  public final static int newField1 = 1;
}

Compile it and then:
javadoc MyInterface.java

Open index.html, navigate to MyInterface, field details. Click on the Constant
Field Values link (which has an anchor) and you arrive at an EMPTY Constant
Field Values list, because Interface constants are missing there. This list
shows only class constants.
(Review ID: 135499) 
======================================================================
Work Around
N/A
Evaluation
Need to determine if this can be fixed in the doclet.
  xxxxx@xxxxx   2001-11-13

This bug has been fixed.  Location of fix:

ConstantsSummaryWriter

Regression test added:

TestConstantValueWrapper.sh
  xxxxx@xxxxx   2002-03-29

Verified using TestConstantValueWrapper.sh
  xxxxx@xxxxx   2002-04-25
Comments
  
  Include a link with my name & email   

Submitted On 11-MAR-2002
brtj00
I discovered this same bug the hardway.  My workaround 
adds the value of the constant to the javadoc of 
MyInterface using the new {@value} tag. It does NOT add 
anything to the constant-values.html unfortunately.  I 
would javadoc the interface as follows:

public interface MyInterface {
  /** <b>Value</b>: {@value} */
  public final static int newField0 = 0;
  /** <b>Value</b>: {@value} */
  public final static int newField1 = 1;
}




PLEASE NOTE: JDK6 is formerly known as Project Mustang