Package tigase.annotations

# Annotation Interface TODO

@Retention(SOURCE) @Documented @Target({TYPE,METHOD,CONSTRUCTOR,ANNOTATION_TYPE}) public @interface TODO
`TODO` this is information for developers that there is still something to do with annotated code. Additional parameters can provide detailed information what exatcly is suposed to correct in code, how important it is for project the time when it should be done and name of developer to which correction is assigned.

`TODO` annotation has a few properties which can be set to better describe code to be changed like `note` - allows you to add some description, `severity` - allows you to set severity level for this code change, `timeLine` - allows you to set expected time when code change should be ready to use and `assignedTo` - allows you to set name of developer who should make the change to code. All this properties has some default values so it is not necessary to set them all every time you use `TODO` annotation.
Below you can find a few samples how to use `TODO` annotation:

Sample of use all annotation with all possible properties:

      @TODO(
      severity=TODO.Severity.CRITICAL,
      note="This empty method which should calculate data checksum, needs implementation.",
      timeLine="30/11/2004",
      assignedTo="Artur Hefczyc"
     )
     public long checksum(char[] buff) { return -1; }

A few samples using selected set of `TODO` properties:

      @TODO(
      severity=TODO.Severity.DOCUMENTATION,
      note="This method needs better inline documentation, I can't udnerstan how it works",
      assignedTo="Artur Hefczyc"
     )
     public String calculateWeather(byte[][][] buff) { ... }

      @TODO(note="SSL socket functionality not implemented yet.")
     protected void init() { ... }

Created: Wed Sep 29 18:58:21 2004

Version:
  $Rev$
Author:
  Artur Hefczyc

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `TODO.Severity`
  This enumeration defines importance levels for code change which is expected to be made for annotated element.

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `String`
  `assignedTo`
  `assignedTo` property allows you to assign developer for the code change described by this annotation.
  `String`
  `note`
  `note` property allows you to set and retrieve description text for expected code change.
  `TODO.Severity`
  `severity`
  `severity` property allows you to set and retrieve severity of expected code change described by this `TODO` annotation.
  `String`
  `timeLine`
  `timeLine` property allows you to set and retrieve expected time by when the change should be done to this code.

- ## Element Details

  - ### severity

    TODO.Severity severity
    `severity` property allows you to set and retrieve severity of expected code change described by this `TODO` annotation.
    Returns:
      priority of code change
    Default:
      IMPORTANT

  - ### note

    String note
    `note` property allows you to set and retrieve description text for expected code change.
    Returns:
      description text for code change
    Default:
      "Functionality not fully implemented."

  - ### timeLine

    String timeLine
    `timeLine` property allows you to set and retrieve expected time by when the change should be done to this code.
    Returns:
      due date of the change
    Default:
      "2004/12/31"

  - ### assignedTo

    String assignedTo
    `assignedTo` property allows you to assign developer for the code change described by this annotation.
    Returns:
      Name of the developer
    Default:
      "Artur Hefczyc"