Documenting unfinished development work - Annotation

337 Views Asked by At

Using Javadoc, to document objects of type(workWithAnnot,Method,Constructor,Annotation,Package) as unfinished in development, below is the code,

src
   package1
      package-info.java
      Unfinished.java
   test
      package-info.java
      workWithAnnot.java

package1/package-info.java

@Unfinished("Package scope")
package package1;

package1/Unfinished.java

package package1;

import java.lang.annotation.*;

@Unfinished("Just articleware")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD, ElementType.CONSTRUCTOR,
            ElementType.ANNOTATION_TYPE, ElementType.PACKAGE})
@Inherited
public @interface Unfinished {
    public enum Priority {LOW, MEDIUM, HIGH}
    String value();
    String[] owners() default "";
    Priority priority() default Priority.MEDIUM;
}

test/workWithAnnot.java

package test;
import package1.Unfinished;
import package1.Unfinished.Priority;

@Unfinished(
        value = "Class Scope",
        priority = Priority.LOW
        )
public class workWithAnnot {

    @Unfinished(owners = "xyz", value="Method scope")
    public void foo() {

    }

    @Unfinished(owners = "Sham", value="Method scope")
    public void bar() {

    }
}

test/package-info.java

@Unfinished("Package scope")
package test;

import package1.Unfinished;

Javadoc displays objects of Package type as unfinished in Java syntax but not as documentation(in plain english):

@Unfinished(value="Package scope")

Package test

Javadoc displays objects of workWithAnnot type as unfinished in Java syntax but not as documentation:

@Unfinished(value="Class Scope", priority=LOW)

public class workWithAnnot extends java.lang.Object

Javadoc displays objects of Method type as unfinished in Java syntax but not as documentation:

foo

@Unfinished(owners="xyz", value="Method scope")

public void foo()


Can @Documented annotation resolve this problem?

or

Do I need to write a compile-time annotation processor for a new custom annotation instead of using meta annotation(@Documented)?

0

There are 0 best solutions below