You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Niels Basjes (JIRA)" <ji...@apache.org> on 2014/12/10 16:40:12 UTC

[jira] [Created] (AVRO-1619) Generate better JavaDoc

Niels Basjes created AVRO-1619:
----------------------------------

             Summary: Generate better JavaDoc
                 Key: AVRO-1619
                 URL: https://issues.apache.org/jira/browse/AVRO-1619
             Project: Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.7.7
            Reporter: Niels Basjes


Assume the following IDL snippet:
{code}
@namespace("nl.basjes.avro.test")
protocol Something {
    record MyRecord {
        /** The time (epoch in milliseconds since 1970-01-01) */
        long    timestamp;
    }
}
{code}

The currently generated java code looks like this:

{code}
  /**
   * Gets the value of the 'timestamp' field.
   * The time (epoch in milliseconds since 1970-01-01) when the event occurred   */
  public java.lang.Long getTimestamp() {
    return timestamp;
  }

  /**
   * Sets the value of the 'timestamp' field.
   * The time (epoch in milliseconds since 1970-01-01) when the event occurred   * @param value the value to set.
   */
  public void setTimestamp(java.lang.Long value) {
    this.timestamp = value;
  }
{code}

Because the "@param" is not on a new line this is not shown in my IDE (IntelliJ 14) as a parameter.

In addition the getters and setters within the Builder are missing these comments and the @param completely.

{code}
    /** Gets the value of the 'timestamp' field */
    public java.lang.Long getTimestamp() {
      return timestamp;
    }
    
    /** Sets the value of the 'timestamp' field */
    public nl.basjes.avro.test.MyRecord.Builder setTimestamp(long value) {
      validate(fields()[0], value);
      this.timestamp = value;
      fieldSetFlags()[0] = true;
      return this; 
    }
{code}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)