Coding Style

  • General

    • All sources must include the license header
    • NO tabs

  • Java

    • 4 space indent.
    • JavaDoc MUST exist on all methods. If your code modifications use an existing class/method/variable which lacks JavaDoc, it is required that you add it. This will improve the project as a whole.
    • If you contribute to a file (code or documentation), add yourself to the authors list at the top of the file. For java sources, the preferred format is:
      @author <a href="mailto:user@domain.com">John Smith</a>
                        
    • Anything not specifically mentioned here should follow Sun's Code Conventions for the Java Programming Language
    • Code not following style conventions will be listed in the module's checkstyle report

  • XML

    • 2 space indent.

Coding Conventions

  • Logging

    • OpenJMS uses Commons-Logging for logging.

    • Log instances must be named using the fully qualified class name in which it is used. Commons-Logging provides a convenience method to specify the name using a Class. E.g, in class org.exolab.jms.server.OpenJMS, use:

      private static final Log _log = LogFactory.getLog(OpenJMS.class);
                        

    • Wrap logging statements with isLogLevelEnabled() statements to avoid evaluation of parameters if the log level is disabled. E.g:

      if (_log.isDebugEnabled()) {
          _log.debug("createReceiver(queue=" + queue + ", clientId="
                     + clientId + ", selector=" + selector
                     + ") [sessionId=" + _sessionId + "]");
      }