ammachado opened a new pull request, #23740: URL: https://github.com/apache/camel/pull/23740
# Description [CAMEL-23535](https://issues.apache.org/jira/browse/CAMEL-23535) asks for an audit and enhancement of the Javadoc in `core/camel-api` so that classes better explain what they are, what they do, and how they fit into the framework, with links to the relevant user-manual pages. This PR covers **batches 5 and 6** of that work. The previous batches are already merged: | Batch | PR | Scope | |---|---|---| | 1 | #23311 | Lifecycle and context types | | 2 | #23330 | Messaging core types | | 3 | #23430 | Endpoint, component, producer, consumer types | | 4 | #23720 | Routes, builders, startup, management, cross-cutting | | **5+6** | **this PR** | **Bean binding annotations, injection, expressions** | ## Changes Class-level Javadoc expanded on 17 top-level types in `org.apache.camel`: **Batch 5 — Bean binding annotations and injection (13 types):** - **Method parameter annotations:** `Body`, `Header`, `Headers`, `ExchangeProperty`, `ExchangeProperties`, `Variable`, `Variables` — each now explains which part of the exchange it injects, the type-conversion step, and cross-references its sibling annotations - **Bean method selection:** `Handler` — clarifies the method-disambiguation role and the single-method constraint - **Dependency injection:** `BeanInject`, `BeanConfigInject` — expand the registry-lookup and property-binding mechanics respectively - **Endpoint resolution:** `EndpointConsumerResolver`, `EndpointProducerResolver` — explain the `from()`/`to()` DSL use case for non-URI objects - **Variable store contract:** `VariableAware` — describes the variables namespace introduced in Camel 4.4 **Batch 6 — Expressions, predicates, type support (4 types):** - `ExpressionFactory`, `PredicateFactory` — describe the deferred/lazy factory pattern and the `@FunctionalInterface` lambda use - `StaticExpression` — explains the constant-value optimization and startup-time property-placeholder resolution - `TimeoutMap` — describes the eviction mechanism and internal use cases (aggregator, idempotent consumer) The change is **comment-only**: no signatures, behaviour, or runtime code is altered. ## Out of scope (follow-ups under CAMEL-23535) - ~65 remaining top-level `org.apache.camel` types (templates, routing annotations, miscellaneous exceptions, etc.) - `org.apache.camel.spi` package (266 files) # Target - [x] I checked that the commit is targeting the correct branch (Camel 4 uses the `main` branch) # Tracking - [x] If this is a large change, bug fix, or code improvement, I checked there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL-23535) filed for the change. # Apache Camel coding standards and style - [x] I checked that each commit in the pull request has a meaningful subject line and body. - [x] I have run `mvn formatter:format impsort:sort` locally and committed all changes. --- _Claude Code on behalf of Adriano Machado_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
