Package com.machinezoo.stagean
Four development stages (or levels of quality) are recognized:
No*
- if that kind of content does not exist at allStub*
- if only short placeholder existsDraft*
- if something is unfinished (regardless of how much)Complete*
- if that kind of content is finished (default)
The following kinds of content have predefined annotation types:
*Api
- APIs, i.e. signature and semantics of public types and members*Code
- implementation code, i.e. all code behind APIs*Tests
- tests, usually unit tests*Docs
- javadoc, perhaps also external docs (presumably linked from the javadoc)
There is no NoCode
annotation, because it has no meaning and StubCode
annotation should be used in its place instead. Applications/libraries are free to define their own annotation types, but the above listed ones are expected to be supported by scanning tools.
Nuances in meaning can be clarified in string parameter that is taken by all annotations. Specific issues are however better described with *Issue
annotations, which can be repeated. Longer text can be included in surrounding comments, but to allow tools to display as much information as possible, it is preferable to embed all comments in multi-line string literals using Markdown syntax.
Annotations have retention policy set to RetentionPolicy.RUNTIME
. Tools can scan for these annotations in sources, during annotation processing, and in compiled class files. Applications can scan themselves at runtime. Annotations also show up in javadoc for annotated code, so that users are informed about development stage of the class/method they are using.
- See Also:
- Stagean homepage
-
Annotation Types Summary Annotation Type Description ApiIssue Description of one API issue.ApiIssues Collection ofApiIssue
annotations.CodeIssue Description of one code issue.CodeIssues Collection ofCodeIssue
annotations.CompleteApi Optionally flags code that has finished API.CompleteCode Optionally flags code that has finished implementation.CompleteDocs Optionally flags code that has finished javadoc.CompleteTests Optionally flags code that has finished tests.DocIssue Description of one documentation issue.DocIssues Collection ofDocIssue
annotations.DraftApi Flags code that has unfinished API.DraftCode Flags code that has unfinished implementation.DraftDocs Flags code that has unfinished javadoc.DraftTests Flags code that has unfinished tests.NoApi Flags code that does not have any public API at all.NoDocs Flags code that does not have any javadoc at all.NoTests Flags code that does not have any tests at all.StubApi Flags code that has almost no API.StubCode Flags code that has almost no implementation.StubDocs Flags code that has almost no javadoc.StubTests Flags code that has almost no tests.TestIssue Description of one test issue.TestIssues Collection ofTestIssue
annotations.