docs: add missing Javadoc comments for various classes and methods#783
docs: add missing Javadoc comments for various classes and methods#783
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #783 +/- ##
=========================================
Coverage 81.42% 81.42%
Complexity 1473 1473
=========================================
Files 220 220
Lines 5530 5530
Branches 568 568
=========================================
Hits 4503 4503
Misses 717 717
Partials 310 310
🚀 New features to boost your workflow:
|
4882d90 to
c5ab482
Compare
There was a problem hiding this comment.
Pull request overview
Adds/updates Javadoc across the Java Stellar SDK to improve generated API documentation coverage, especially around Horizon request/response models and Stellar RPC (formerly Soroban-RPC) types.
Changes:
- Add package-level
package-info.javaJavadocs for several SDK packages (core, requests, responses, operations, federation, SPI, contract exceptions). - Add/expand class/method/field Javadocs across request builders, response models, core domain types, and exceptions.
- Rename documentation references from “Soroban-RPC” to “Stellar RPC (formerly Soroban-RPC)” in multiple places, and adjust some exception/throws docs.
Reviewed changes
Copilot reviewed 80 out of 80 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/org/stellar/sdk/spi/package-info.java | Adds SPI package-level Javadoc. |
| src/main/java/org/stellar/sdk/responses/sorobanrpc/package-info.java | Adds Stellar RPC responses package-level Javadoc. |
| src/main/java/org/stellar/sdk/responses/sorobanrpc/SorobanRpcResponse.java | Updates class Javadoc wording for Stellar RPC. |
| src/main/java/org/stellar/sdk/responses/sorobanrpc/Events.java | Adds class-level Javadoc for event parsing container. |
| src/main/java/org/stellar/sdk/responses/package-info.java | Adds Horizon responses package-level Javadoc. |
| src/main/java/org/stellar/sdk/responses/operations/package-info.java | Adds operation responses package-level Javadoc. |
| src/main/java/org/stellar/sdk/responses/gson/package-info.java | Adds Gson adapters package-level Javadoc. |
| src/main/java/org/stellar/sdk/responses/effects/package-info.java | Adds effects package-level Javadoc. |
| src/main/java/org/stellar/sdk/responses/effects/LiquidityPool.java | Adds class-level Javadoc for effect liquidity pool model. |
| src/main/java/org/stellar/sdk/responses/TradeAggregationResponse.java | Adds class-level Javadoc for trade aggregations response. |
| src/main/java/org/stellar/sdk/responses/Response.java | Adds base response class Javadoc. |
| src/main/java/org/stellar/sdk/responses/Pageable.java | Adds interface-level Javadoc for pagination token. |
| src/main/java/org/stellar/sdk/responses/Page.java | Fixes throws text in Javadoc (NetworkError → NetworkException). |
| src/main/java/org/stellar/sdk/responses/FeeStatsResponse.java | Adds class-level Javadoc for fee stats response. |
| src/main/java/org/stellar/sdk/responses/AssetResponse.java | Adds class-level Javadoc for asset response. |
| src/main/java/org/stellar/sdk/requests/sorobanrpc/package-info.java | Adds Stellar RPC requests package-level Javadoc. |
| src/main/java/org/stellar/sdk/requests/sorobanrpc/SorobanRpcRequest.java | Updates class Javadoc wording for Stellar RPC. |
| src/main/java/org/stellar/sdk/requests/package-info.java | Adds Horizon requests package-level Javadoc with usage example. |
| src/main/java/org/stellar/sdk/requests/TransactionsRequestBuilder.java | Adds missing @return/@param docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/TradesRequestBuilder.java | Adds missing @return docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/TradeAggregationsRequestBuilder.java | Fixes throws text (NetworkError → NetworkException). |
| src/main/java/org/stellar/sdk/requests/StrictSendPathsRequestBuilder.java | Adds class-level Javadoc and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/StrictReceivePathsRequestBuilder.java | Fixes throws text (NetworkError → NetworkException). |
| src/main/java/org/stellar/sdk/requests/SSEStream.java | Adds class-level Javadoc for SSE streaming helper. |
| src/main/java/org/stellar/sdk/requests/RootRequestBuilder.java | Fixes throws text (NetworkError → NetworkException). |
| src/main/java/org/stellar/sdk/requests/ResponseHandler.java | Adds class/method Javadocs describing HTTP→exception mapping. |
| src/main/java/org/stellar/sdk/requests/RequestBuilder.java | Adds missing @return docs and fixes spelling/throws text. |
| src/main/java/org/stellar/sdk/requests/PaymentsRequestBuilder.java | Adds missing @return docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/OrderBookRequestBuilder.java | Fixes throws text and documents stream overload. |
| src/main/java/org/stellar/sdk/requests/OperationsRequestBuilder.java | Adds missing @return/@param docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/OffersRequestBuilder.java | Adds missing @param docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/LiquidityPoolsRequestBuilder.java | Adds missing @param docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/LedgersRequestBuilder.java | Adds missing @param docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/FeeStatsRequestBuilder.java | Adds class-level Javadoc and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/EffectsRequestBuilder.java | Adds missing @return docs; contains a Javadoc link typo. |
| src/main/java/org/stellar/sdk/requests/ClientIdentificationInterceptor.java | Adds class-level Javadoc for header injection interceptor. |
| src/main/java/org/stellar/sdk/requests/ClaimableBalancesRequestBuilder.java | Adds missing @param docs and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/AssetsRequestBuilder.java | Adds class-level Javadoc and fixes throws text. |
| src/main/java/org/stellar/sdk/requests/AccountsRequestBuilder.java | Adds missing @param/@return docs and fixes throws text. |
| src/main/java/org/stellar/sdk/package-info.java | Adds core SDK package-level Javadoc. |
| src/main/java/org/stellar/sdk/operations/package-info.java | Adds operations package-level Javadoc. |
| src/main/java/org/stellar/sdk/federation/package-info.java | Adds federation package-level Javadoc. |
| src/main/java/org/stellar/sdk/federation/exception/package-info.java | Adds federation exceptions package-level Javadoc. |
| src/main/java/org/stellar/sdk/federation/FederationResponse.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/federation/Federation.java | Fixes throws text (NetworkError → NetworkException). |
| src/main/java/org/stellar/sdk/exception/UnknownResponseException.java | Adds class Javadoc and changes exception message text. |
| src/main/java/org/stellar/sdk/exception/SorobanRpcException.java | Updates Javadoc to Stellar RPC wording. |
| src/main/java/org/stellar/sdk/exception/PrepareTransactionException.java | Updates inline comment to Stellar RPC wording. |
| src/main/java/org/stellar/sdk/exception/NetworkException.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/exception/AccountNotFoundException.java | Updates Javadoc wording to Stellar RPC. |
| src/main/java/org/stellar/sdk/contract/exception/package-info.java | Adds contract exceptions package-level Javadoc. |
| src/main/java/org/stellar/sdk/contract/AssembledTransaction.java | Adds class-level Javadoc describing lifecycle/usage. |
| src/main/java/org/stellar/sdk/Util.java | Adds missing @return Javadoc for an assertion helper. |
| src/main/java/org/stellar/sdk/TrustLineAsset.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/TransactionPreconditions.java | Expands field Javadocs for Lombok-generated getters/builders. |
| src/main/java/org/stellar/sdk/TransactionBuilderAccount.java | Expands interface method Javadocs. |
| src/main/java/org/stellar/sdk/TransactionBuilder.java | Adds missing @return Javadoc for build(). |
| src/main/java/org/stellar/sdk/Transaction.java | Expands field Javadocs for public getters. |
| src/main/java/org/stellar/sdk/TimeBounds.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/SorobanServer.java | Updates Javadocs from Soroban-RPC to Stellar RPC wording. |
| src/main/java/org/stellar/sdk/SorobanDataBuilder.java | Updates wording + expands nested Resources field Javadocs. |
| src/main/java/org/stellar/sdk/SignerKey.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/Server.java | Expands/adjusts Javadocs and corrects a return type doc. |
| src/main/java/org/stellar/sdk/Sep45Challenge.java | Updates wording + expands nested value object field Javadocs. |
| src/main/java/org/stellar/sdk/Sep10Challenge.java | Adds missing @return docs for challenge constructors. |
| src/main/java/org/stellar/sdk/Price.java | Expands field/method Javadocs. |
| src/main/java/org/stellar/sdk/Predicate.java | Expands nested predicate field Javadocs. |
| src/main/java/org/stellar/sdk/Network.java | Expands field Javadoc for passphrase getter. |
| src/main/java/org/stellar/sdk/MuxedAccount.java | Expands field Javadocs for getters. |
| src/main/java/org/stellar/sdk/MemoHashAbstract.java | Expands field/method Javadocs for getter-like methods. |
| src/main/java/org/stellar/sdk/Memo.java | Adds missing @return docs for memo factory methods. |
| src/main/java/org/stellar/sdk/LiquidityPool.java | Expands field Javadocs for getters. |
| src/main/java/org/stellar/sdk/LedgerBounds.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/KeyPair.java | Expands method Javadocs (canSign, getAccountId, etc.). |
| src/main/java/org/stellar/sdk/FeeBumpTransaction.java | Expands field Javadocs for getters. |
| src/main/java/org/stellar/sdk/Claimant.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/ChangeTrustAsset.java | Expands field Javadocs for Lombok-generated getters. |
| src/main/java/org/stellar/sdk/AssetTypeCreditAlphaNum.java | Expands field Javadocs for getters. |
| src/main/java/org/stellar/sdk/Asset.java | Adds missing @return docs and expands method Javadocs. |
| src/main/java/org/stellar/sdk/AbstractTransaction.java | Expands field/method Javadocs for getters and factory. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| /** | ||
| * Represent the request sent to Soroban-RPC. | ||
| * Represent the request sent to Stellar RPC (formerly Soroban-RPC). | ||
| * |
There was a problem hiding this comment.
The class Javadoc is grammatically incorrect: “Represent the request …” should be “Represents the request …”.
| public UnknownResponseException(Integer code, String body) { | ||
| super(String.format("Unknown response from Horizon: [%d] %s", code, body), code, body); | ||
| super(String.format("Unknown response: [%d] %s", code, body), code, body); |
There was a problem hiding this comment.
This PR is titled as a Javadoc-only change, but this line changes a public exception message (removes “from Horizon”). If this is intentional, consider noting it in the PR description/release notes; otherwise, keep the original message or switch to a neutral wording like “from server” to avoid surprising consumers who log/grep for the old text.
| /** | ||
| * The time bounds for the transaction. | ||
| * | ||
| * @param timeBounds the time bounds | ||
| * @return the time bounds | ||
| */ | ||
| TimeBounds timeBounds; |
There was a problem hiding this comment.
Field Javadoc includes an @param timeBounds tag, but this is a field (not a method/constructor), so the tag is invalid and can trigger doclint warnings or get copied onto Lombok-generated getters where it will be unused. Consider removing @param tags from field Javadoc (keep @return for generated getters) and document builder/constructor params separately if needed.
| * submitHttpClient is used only for submitting transactions. The read timeout is longer. | ||
| * | ||
| * @param submitHttpClient the OkHttpClient used for submitting transactions | ||
| * @return the OkHttpClient used for submitting transactions |
There was a problem hiding this comment.
This submitHttpClient field Javadoc includes @param/@return tags, which are not valid on fields and may be copied onto Lombok-generated accessor methods where the tags don’t match (e.g., setters have params but no return; getters have return but no params). Prefer field Javadoc without method tags, or provide explicit getter/setter Javadocs if doclint completeness is required.
| * submitHttpClient is used only for submitting transactions. The read timeout is longer. | |
| * | |
| * @param submitHttpClient the OkHttpClient used for submitting transactions | |
| * @return the OkHttpClient used for submitting transactions | |
| * HTTP client used only for submitting transactions. The read timeout is longer. |
| /** | ||
| * The list of authorization entries. | ||
| * | ||
| * @param authorizationEntries the authorization entries | ||
| * @return the authorization entries | ||
| */ | ||
| @NonNull List<SorobanAuthorizationEntry> authorizationEntries; |
There was a problem hiding this comment.
These Lombok @Value/@Builder fields have Javadoc with @param tags even though they are fields. This is invalid at the field level and can lead to doclint warnings or mismatched tags when Lombok copies comments onto generated methods. Consider removing the @param tags from field Javadocs (keeping @return for generated getters).
| /** | ||
| * Throws when Soroban-RPC instance responds with error. | ||
| * Throws when Stellar RPC (formerly Soroban-RPC) instance responds with error. | ||
| * |
There was a problem hiding this comment.
Javadoc grammar: “Throws when … instance responds with error.” should be “Thrown when a … instance responds with an error.” (or similar).
| * Exception thrown when trying to load an account that doesn't exist on the Stellar network. | ||
| * | ||
| * <p>Only applicable to Soroban RPC Request. | ||
| * <p>Only applicable to Stellar RPC request. | ||
| */ |
There was a problem hiding this comment.
Minor grammar: “Only applicable to Stellar RPC request.” reads like a typo; consider “requests” (plural) or “a Stellar RPC request”.
| /** | ||
| * number of CPU instructions (uint32) | ||
| * | ||
| * @param cpuInstructions the number of CPU instructions | ||
| * @return the number of CPU instructions | ||
| */ | ||
| @NonNull Long cpuInstructions; |
There was a problem hiding this comment.
In Resources, the field Javadocs include @param ... tags even though these are fields. This is invalid for field Javadoc and may surface as doclint warnings or be copied onto Lombok-generated getters (which have no parameters). Consider removing the @param tags from these field comments and keeping only an appropriate @return for getters.
| * @see <a | ||
| * href="ttps://developers.stellar.org/docs/data/apis/horizon/api-reference/retrieve-related-effects">Effects | ||
| * for Liquidity Pool</a> |
There was a problem hiding this comment.
The @see link URL is missing the leading h (ttps://...), so it won’t be clickable/valid in generated Javadoc. Update it to https://....
c5ab482 to
35bf10a
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 80 out of 80 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| * @throws TooManyRequestsException If the response code is 429 (Too Many Requests) | ||
| * @throws RequestTimeoutException If the response code is 504 (Gateway Timeout) | ||
| * @throws UnexpectedException If the response body is empty or there's an unexpected error | ||
| * reading the response | ||
| * @throws BadRequestException If the response code is in the 4xx range | ||
| * @throws BadResponseException If the response code is in the 5xx range | ||
| * @throws BadRequestException If the response code is in the 4xx range (except 429) | ||
| * @throws BadResponseException If the response code is in the 5xx range (except 504) |
There was a problem hiding this comment.
handleResponse(Response) can also throw UnknownResponseException (e.g., for 3xx responses or any status code outside 2xx/4xx/5xx), but the updated @throws list doesn’t mention it. Since the class-level Javadoc calls out UnknownResponseException for unrecognized status codes, it would be good to include it in the method-level @throws list as well (and similarly for the overloads) to keep the documentation accurate.
35bf10a to
d189a06
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 80 out of 80 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| /** | ||
| * Abstract base class for all Horizon API response objects. | ||
| * | ||
| * <p>Provides common utility methods shared by Horizon responses, such as constructing {@link | ||
| * org.stellar.sdk.TrustLineAsset} instances from response fields. | ||
| */ |
There was a problem hiding this comment.
Response is documented as the base class for "all Horizon API response objects", but it is also extended by Stellar RPC response types (e.g., org.stellar.sdk.responses.sorobanrpc.SorobanRpcResponse). Please adjust this Javadoc to describe it as a shared base for SDK response objects (or explicitly mention both Horizon and Stellar RPC) to avoid misleading API consumers.
No description provided.