Package tigase.annotations

## Annotation Type 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

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element | Description
    --- | --- | ---
    `java.lang.String` | `assignedTo` | `assignedTo` property allows you to assign developer for the code change described by this annotation.
    `java.lang.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.
    `java.lang.String` | `timeLine` | `timeLine` property allows you to set and retrieve expected time by when the change should be done to this code.

- - ### Element Detail

    - #### 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:
        tigase.annotations.TODO.Severity.IMPORTANT

  - - #### note

          java.lang.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

          java.lang.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

          java.lang.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"