AtclauseOrder

Since Checkstyle 6.0

Description

Note: Google used the term "at-clauses" for block tags in their guide till 2017-02-28.

Properties

name description type default value since
tagOrder Specify the order by tags. String[] @author, @version, @param, @return, @throws, @exception, @see, @since, @serial, @serialField, @serialData, @deprecated 6.0
target Specify block tags targeted. subset of tokens TokenTypes CLASS_DEF , COMPACT_CTOR_DEF , CTOR_DEF , ENUM_DEF , INTERFACE_DEF , METHOD_DEF , RECORD_DEF , VARIABLE_DEF 6.0
violateExecutionOnNonTightHtml Control when to print violations if the Javadoc being examined by this check violates the tight html rules defined at Tight-HTML Rules. boolean false 8.3

Examples

To configure the default check:


<module name="Checker">
  <module name="TreeWalker">
    <module name="AtclauseOrder"/>
  </module>
</module>

Example:


/**
* Some javadoc.
*
* @author Some javadoc.
* @version Some javadoc.
* @param Some javadoc.
* @return Some javadoc.
* @throws Some javadoc.
* @exception Some javadoc.
* @see Some javadoc.
* @since Some javadoc.
* @serial Some javadoc.
* @serialField Field description.
* @serialData
*/
public class Example1 {
  class Valid implements Serializable {
  }

  /**
   * Some javadoc.
   *
   * @version Some javadoc.
   * @see Some javadoc.
   * @since Some javadoc.
   * @deprecated
   */
  class Invalid implements Serializable {
  }

  /**
   * Some javadoc.
   *
   * @author max
   * @version Some javadoc.
   * @see Some javadoc.
   * @since Some javadoc.
   * @deprecated
   */
  enum Test {}
}

To configure the check such that it checks in the custom order:


<module name="Checker">
  <module name="TreeWalker">
    <module name="AtclauseOrder">
      <property name="tagOrder"
                value="@author, @since, @version, @param, @return,
                       @throws, @exception, @deprecated,
                       @see, @serial, @serialField, @serialData"/>
    </module>
  </module>
</module>

Example:


/**
* Some javadoc.
*
* @author Some javadoc.
* @version Some javadoc.
* @param Some javadoc.
* @return Some javadoc.
* @throws Some javadoc.
* @exception Some javadoc.
* @see Some javadoc.
* @since Some javadoc. // violation
* @serial Some javadoc.
* @serialField Field description.
* @serialData
*/
public class Example2 {
  class Valid implements Serializable {
  }

  /**
   * Some javadoc.
   *
   * @version Some javadoc.
   * @see Some javadoc.
   * @since Some javadoc. // violation
   * @deprecated  // violation
   */
  class Invalid implements Serializable {
  }

  /**
   * Some javadoc.
   *
   * @author max
   * @version Some javadoc.
   * @see Some javadoc.
   * @since Some javadoc. // violation
   * @deprecated // violation
   */
  enum Test {}
}

To configure the check such that it targets only enums:


<module name="Checker">
  <module name="TreeWalker">
    <module name="AtclauseOrder">
      <property name="target" value="ENUM_DEF"/>
      <property name="tagOrder"
                value="@author, @since, @version, @param, @return,
                       @throws, @exception, @deprecated,
                       @see, @serial, @serialField, @serialData"/>
    </module>
  </module>
</module>

Example:


/**
* Some javadoc.
*
* @author Some javadoc.
* @version Some javadoc.
* @param Some javadoc.
* @return Some javadoc.
* @throws Some javadoc.
* @exception Some javadoc.
* @see Some javadoc.
* @since Some javadoc.
* @serial Some javadoc.
* @serialField Field description.
* @serialData
*/
public class Example3 {
  class Valid implements Serializable {
  }

  /**
   * Some javadoc.
   *
   * @version Some javadoc.
   * @see Some javadoc.
   * @since Some javadoc.
   * @deprecated
   */
  class Invalid implements Serializable {
  }

  /**
   * Some javadoc.
   *
   * @author Some javadoc.
   * @version Some javadoc.
   * @see Some javadoc.
   * @since Some javadoc. // violation
   * @deprecated // violation
   */
  enum Test {}
}

Example of Usage

Violation Messages

All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.

Fully Qualified Name

com.puppycrawl.tools.checkstyle.checks.javadoc.AtclauseOrderCheck

Use this fully qualified class name in configuration when an exact class reference is required.

Parent Module

TreeWalker