Skip to content

Conversation

@ehsavoie
Copy link
Collaborator

Added Javadoc documentation for:

  • Public constants (error codes, method names, type identifiers)
  • Generic type parameters in base request/response classes
  • Record compact constructors (12 record classes)
  • Exception constructors (5 exception classes)
  • APIKeySecurityScheme (enum, methods, constructors, Builder)
  • Builder classes and methods (CancelTaskRequest, DeleteTaskPushNotificationConfig*)
  • Request/response constructors

This resolves all Javadoc warnings and errors in the spec module, enabling clean builds with the -Prelease profile.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @ehsavoie, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a significant documentation effort within the spec module. The primary goal is to provide comprehensive Javadoc for a wide array of classes, methods, and constants, thereby improving the overall quality and usability of the API. This initiative also addresses and resolves all previously identified Javadoc warnings and errors, ensuring a cleaner build process and better developer experience.

Highlights

  • Comprehensive Javadoc Coverage: Extensive Javadoc documentation has been added to public constants, generic type parameters, record compact constructors, exception constructors, APIKeySecurityScheme components (enum, methods, constructors, Builder), and various request/response constructors across the spec module.
  • Javadoc Warning Resolution: All existing Javadoc warnings and errors within the spec module have been resolved, ensuring clean builds when using the -Prelease profile.
  • Improved Code Readability and Maintainability: The addition of detailed Javadoc significantly enhances the clarity and understanding of the codebase, making it easier for developers to use and maintain the spec module.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds comprehensive Javadoc documentation to numerous classes within the spec module, which is a valuable improvement for code clarity and maintainability. The added documentation covers public constants, generic type parameters, constructors, and builder classes, effectively resolving all Javadoc warnings in the module. The changes are well-executed. I've identified one minor issue in the Javadoc for A2AClientHTTPError where a parameter check was documented incorrectly. Other than that, this is an excellent contribution.

* @param code the HTTP status code
* @param message the error message
* @param data additional error data (may be the response body)
* @throws IllegalArgumentException if code or message is null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The @throws documentation for the code parameter is misleading. Since code is a primitive int, it cannot be null. The corresponding check in the constructor body, Assert.checkNotNullParam("code", code), is also redundant because a primitive int cannot be null.

Please update the Javadoc to only mention message as being checked for nullity. For completeness, you might also consider removing the redundant null check for code from the constructor body.

Suggested change
* @throws IllegalArgumentException if code or message is null
* @throws IllegalArgumentException if message is null

Added Javadoc documentation for:
- Public constants (error codes, method names, type identifiers)
- Generic type parameters in base request/response classes
- Record compact constructors (12 record classes)
- Exception constructors (5 exception classes)
- APIKeySecurityScheme (enum, methods, constructors, Builder)
- Builder classes and methods (CancelTaskRequest, DeleteTaskPushNotificationConfig*)
- Request/response constructors

This resolves all Javadoc warnings and errors  in the spec module, enabling clean
builds with the -Prelease profile.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
@ehsavoie ehsavoie force-pushed the chore_javadoc_fixes branch from abe5d9b to 808e98d Compare December 10, 2025 14:37
@ehsavoie ehsavoie merged commit cd32276 into a2aproject:main Dec 10, 2025
10 checks passed
@ehsavoie ehsavoie deleted the chore_javadoc_fixes branch December 11, 2025 08:23
@jmesnil jmesnil added this to the 1.0.0 milestone Dec 11, 2025
kabir pushed a commit to kabir/a2a-java that referenced this pull request Dec 23, 2025
Added Javadoc documentation for:
- Public constants (error codes, method names, type identifiers)
- Generic type parameters in base request/response classes
- Record compact constructors (12 record classes)
- Exception constructors (5 exception classes)
- APIKeySecurityScheme (enum, methods, constructors, Builder)
- Builder classes and methods (CancelTaskRequest,
DeleteTaskPushNotificationConfig*)
- Request/response constructors

This resolves all Javadoc warnings and errors in the spec module,
enabling clean builds with the -Prelease profile.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants