Incendo / Incendo/cloud

Annotation (processing) improvements

Open
#758 0 comments 0 reactions 1 assignee View on GitHub

@Citymonstret is already working on this.

Since Jul 27, 2024.

enhancement
Dominant language
Java
Stars
548
Forks
60
PR merge metrics
No merged PRs in 30d

Description

During the command method validation we should attempt to validate nullability, with some support for common nullability annotations.

If a parameter is required we should output a warning if it's marked as nullable. If it's optional without a default value, then we should probably error if it's marked as non-nullable.

We ought to validate whether primitive values are optional without defaults, as this will fail at runtime.

It'd also be good if we added some support for third-party annotations at runtime. Such as existing range annotations, and possibly even existing pattern annotations (for regex), etc.

We should properly mark our annotations as inherited and documented, and improve our support for meta-annotations and annotation composition.

None of this would break API and can be done after the 2.0 release.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.