|
FlexDoc/Javadoc 2.0 Demo Java Doc |
Interface CompletionStage<T>
All Known Implementing Classes:
public interface CompletionStage<T>
A stage of a possibly asynchronous computation, that performs an
action or computes a value when another CompletionStage completes.
A stage completes upon termination of its computation, but this may
in turn trigger other dependent stages. The functionality defined
in this interface takes only a few basic forms, which expand out to
a larger set of methods to capture a range of usage styles:
All methods adhere to the above triggering, execution, and
exceptional completion specifications (which are not repeated in
individual method specifications). Additionally, while arguments
used to pass a completion result (that is, for parameters of type
T) for methods accepting them may be null, passing a null
value for any other parameter will result in a NullPointerException being thrown.
Method form handle is the most general way of
creating a continuation stage, unconditionally performing a
computation that is given both the result and exception (if any) of
the triggering CompletionStage, and computing an arbitrary result.
Method whenComplete is similar, but preserves
the result of the triggering stage instead of computing a new one.
Because a stage's normal result may be null, both methods
should have a computation structured thus:
(result, exception) -> {
if (exception == null) {
// triggering stage completed normally
} else {
// triggering stage completed exceptionally
}
}
This interface does not define methods for initially creating,
forcibly completing normally or exceptionally, probing completion
status or results, or awaiting completion of a stage.
Implementations of CompletionStage may provide means of achieving
such effects, as appropriate. Method toCompletableFuture()
enables interoperability among different implementations of this
interface by providing a common conversion type.
Since:
1.8
Author:
Doug Lea
Method Summary |
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed with the
corresponding result as argument to the supplied action.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using this
stage's default asynchronous execution facility, with the
corresponding result as argument to the supplied action.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using the
supplied executor, with the corresponding result as argument to
the supplied action.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed with the
corresponding result as argument to the supplied function.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using this
stage's default asynchronous execution facility, with the
corresponding result as argument to the supplied function.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using the
supplied executor, with the corresponding result as argument to
the supplied function.
|
|
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function.
|
|
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function, using this stage's default
asynchronous execution facility.
|
|
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function, using the supplied Executor.
|
|
Returns a new CompletionStage that, when this stage completes
exceptionally, is composed using the results of the supplied
function applied to this stage's exception.
|
|
Returns a new CompletionStage that, when this stage completes
exceptionally, is composed using the results of the supplied
function applied to this stage's exception, using this stage's
default asynchronous execution facility.
|
|
Returns a new CompletionStage that, when this stage completes
exceptionally, is composed using the results of the supplied
function applied to this stage's exception, using the
supplied Executor.
|
|
Returns a new CompletionStage that, when this stage completes
either normally or exceptionally, is executed with this stage's
result and exception as arguments to the supplied function.
|
|
Returns a new CompletionStage that, when this stage completes
either normally or exceptionally, is executed using this stage's
default asynchronous execution facility, with this stage's
result and exception as arguments to the supplied function.
|
|
Returns a new CompletionStage that, when this stage completes
either normally or exceptionally, is executed using the
supplied executor, with this stage's result and exception as
arguments to the supplied function.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, executes the given action.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, executes the given action
using this stage's default asynchronous execution facility.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, executes the given action
using the supplied executor.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, executes the given action.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, executes the given action
using this stage's default asynchronous execution facility.
|
|
Returns a new CompletionStage that, when either this or the
other given stage complete normally, executes the given action
using the supplied executor.
|
|
Returns a new CompletionStage that, when this stage completes
normally, is executed with this stage's result as the argument
to the supplied action.
|
|
Returns a new CompletionStage that, when this stage completes
normally, is executed using this stage's default asynchronous
execution facility, with this stage's result as the argument to
the supplied action.
|
|
Returns a new CompletionStage that, when this stage completes
normally, is executed using the supplied Executor, with this
stage's result as the argument to the supplied action.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed with the two
results as arguments to the supplied action.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using this
stage's default asynchronous execution facility, with the two
results as arguments to the supplied action.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using the
supplied executor, with the two results as arguments to the
supplied action.
|
|
Returns a new CompletionStage that, when this stage completes
normally, is executed with this stage's result as the argument
to the supplied function.
|
|
Returns a new CompletionStage that, when this stage completes
normally, is executed using this stage's default asynchronous
execution facility, with this stage's result as the argument to
the supplied function.
|
|
Returns a new CompletionStage that, when this stage completes
normally, is executed using the supplied Executor, with this
stage's result as the argument to the supplied function.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed with the two
results as arguments to the supplied function.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using this
stage's default asynchronous execution facility, with the two
results as arguments to the supplied function.
|
|
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using the
supplied executor, with the two results as arguments to the
supplied function.
|
|
Returns a new CompletionStage that is completed with the same
value as the CompletionStage returned by the given function.
|
|
Returns a new CompletionStage that is completed with the same
value as the CompletionStage returned by the given function,
executed using this stage's default asynchronous execution
facility.
|
|
Returns a new CompletionStage that is completed with the same
value as the CompletionStage returned by the given function,
executed using the supplied Executor.
|
|
Returns a new CompletionStage that, when this stage completes
normally, executes the given action.
|
|
Returns a new CompletionStage that, when this stage completes
normally, executes the given action using this stage's default
asynchronous execution facility.
|
|
Returns a new CompletionStage that, when this stage completes
normally, executes the given action using the supplied Executor.
|
|
Returns a CompletableFuture maintaining the same
completion properties as this stage.
|
|
Returns a new CompletionStage with the same result or exception as
this stage, that executes the given action when this stage completes.
|
|
Returns a new CompletionStage with the same result or exception as
this stage, that executes the given action using this stage's
default asynchronous execution facility when this stage completes.
|
|
Returns a new CompletionStage with the same result or exception as
this stage, that executes the given action using the supplied
Executor when this stage completes.
|
Returns a new CompletionStage that, when this stage completes
normally, is executed with this stage's result as the argument
to the supplied function.
This method is analogous to
Optional.map and
Stream.map.
See the CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the function's return type
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, is executed using this stage's default asynchronous
execution facility, with this stage's result as the argument to
the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the function's return type
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, is executed using the supplied Executor, with this
stage's result as the argument to the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the function's return type
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, is executed with this stage's result as the argument
to the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, is executed using this stage's default asynchronous
execution facility, with this stage's result as the argument to
the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, is executed using the supplied Executor, with this
stage's result as the argument to the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
action - the action to perform before completing the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, executes the given action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, executes the given action using this stage's default
asynchronous execution facility.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
normally, executes the given action using the supplied Executor.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
action - the action to perform before completing the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed with the two
results as arguments to the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the other CompletionStage's result
V - the function's return type
Parameters:
other - the other CompletionStage
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using this
stage's default asynchronous execution facility, with the two
results as arguments to the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the other CompletionStage's result
V - the function's return type
Parameters:
other - the other CompletionStage
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using the
supplied executor, with the two results as arguments to the
supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the other CompletionStage's result
V - the function's return type
Parameters:
other - the other CompletionStage
fn - the function to use to compute the value of the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed with the two
results as arguments to the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the other CompletionStage's result
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using this
stage's default asynchronous execution facility, with the two
results as arguments to the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the other CompletionStage's result
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, is executed using the
supplied executor, with the two results as arguments to the
supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the other CompletionStage's result
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, executes the given action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, executes the given action
using this stage's default asynchronous execution facility.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this and the other
given stage both complete normally, executes the given action
using the supplied executor.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed with the
corresponding result as argument to the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the function's return type
Parameters:
other - the other CompletionStage
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using this
stage's default asynchronous execution facility, with the
corresponding result as argument to the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the function's return type
Parameters:
other - the other CompletionStage
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using the
supplied executor, with the corresponding result as argument to
the supplied function.
See the
CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the function's return type
Parameters:
other - the other CompletionStage
fn - the function to use to compute the value of the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed with the
corresponding result as argument to the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using this
stage's default asynchronous execution facility, with the
corresponding result as argument to the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using the
supplied executor, with the corresponding result as argument to
the supplied action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, executes the given action.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, executes the given action
using this stage's default asynchronous execution facility.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when either this or the
other given stage complete normally, executes the given action
using the supplied executor.
See the
CompletionStage documentation for rules
covering exceptional completion.
Parameters:
other - the other CompletionStage
action - the action to perform before completing the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that is completed with the same
value as the CompletionStage returned by the given function.
When this stage completes normally, the given function is
invoked with this stage's result as the argument, returning
another CompletionStage. When that stage completes normally,
the CompletionStage returned by this method is completed with
the same value.
To ensure progress, the supplied function must arrange
eventual completion of its result.
This method is analogous to
Optional.flatMap and
Stream.flatMap.
See the CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the returned CompletionStage's result
Parameters:
fn - the function to use to compute another CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that is completed with the same
value as the CompletionStage returned by the given function,
executed using this stage's default asynchronous execution
facility.
When this stage completes normally, the given function is
invoked with this stage's result as the argument, returning
another CompletionStage. When that stage completes normally,
the CompletionStage returned by this method is completed with
the same value.
To ensure progress, the supplied function must arrange
eventual completion of its result.
See the CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the returned CompletionStage's result
Parameters:
fn - the function to use to compute another CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that is completed with the same
value as the CompletionStage returned by the given function,
executed using the supplied Executor.
When this stage completes normally, the given function is
invoked with this stage's result as the argument, returning
another CompletionStage. When that stage completes normally,
the CompletionStage returned by this method is completed with
the same value.
To ensure progress, the supplied function must arrange
eventual completion of its result.
See the CompletionStage documentation for rules
covering exceptional completion.
Type Parameters:
U - the type of the returned CompletionStage's result
Parameters:
fn - the function to use to compute another CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
either normally or exceptionally, is executed with this stage's
result and exception as arguments to the supplied function.
When this stage is complete, the given function is invoked
with the result (or null if none) and the exception (or
null if none) of this stage as arguments, and the
function's result is used to complete the returned stage.
Type Parameters:
U - the function's return type
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
either normally or exceptionally, is executed using this stage's
default asynchronous execution facility, with this stage's
result and exception as arguments to the supplied function.
When this stage is complete, the given function is invoked
with the result (or null if none) and the exception (or
null if none) of this stage as arguments, and the
function's result is used to complete the returned stage.
Type Parameters:
U - the function's return type
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
either normally or exceptionally, is executed using the
supplied executor, with this stage's result and exception as
arguments to the supplied function.
When this stage is complete, the given function is invoked
with the result (or null if none) and the exception (or
null if none) of this stage as arguments, and the
function's result is used to complete the returned stage.
Type Parameters:
U - the function's return type
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage with the same result or exception as
this stage, that executes the given action when this stage completes.
When this stage is complete, the given action is invoked
with the result (or null if none) and the exception (or
null if none) of this stage as arguments. The returned
stage is completed when the action returns.
Unlike method handle,
this method is not designed to translate completion outcomes,
so the supplied action should not throw an exception. However,
if it does, the following rules apply: if this stage completed
normally but the supplied action throws an exception, then the
returned stage completes exceptionally with the supplied
action's exception. Or, if this stage completed exceptionally
and the supplied action throws an exception, then the returned
stage completes exceptionally with this stage's exception.
Parameters:
action - the action to perform
Returns:
the new CompletionStage
Returns a new CompletionStage with the same result or exception as
this stage, that executes the given action using this stage's
default asynchronous execution facility when this stage completes.
When this stage is complete, the given action is invoked with the
result (or null if none) and the exception (or null
if none) of this stage as arguments. The returned stage is completed
when the action returns.
Unlike method handleAsync,
this method is not designed to translate completion outcomes,
so the supplied action should not throw an exception. However,
if it does, the following rules apply: If this stage completed
normally but the supplied action throws an exception, then the
returned stage completes exceptionally with the supplied
action's exception. Or, if this stage completed exceptionally
and the supplied action throws an exception, then the returned
stage completes exceptionally with this stage's exception.
Parameters:
action - the action to perform
Returns:
the new CompletionStage
Returns a new CompletionStage with the same result or exception as
this stage, that executes the given action using the supplied
Executor when this stage completes.
When this stage is complete, the given action is invoked with the
result (or null if none) and the exception (or null
if none) of this stage as arguments. The returned stage is completed
when the action returns.
Unlike method handleAsync,
this method is not designed to translate completion outcomes,
so the supplied action should not throw an exception. However,
if it does, the following rules apply: If this stage completed
normally but the supplied action throws an exception, then the
returned stage completes exceptionally with the supplied
action's exception. Or, if this stage completed exceptionally
and the supplied action throws an exception, then the returned
stage completes exceptionally with this stage's exception.
Parameters:
action - the action to perform
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function. Otherwise, if this stage
completes normally, then the returned stage also completes
normally with the same value.
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage if this CompletionStage completed
exceptionally
Returns:
the new CompletionStage
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function, using this stage's default
asynchronous execution facility. Otherwise, if this stage
completes normally, then the returned stage also completes
normally with the same value.
Implementation Requirements:
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage if this CompletionStage completed
exceptionally
Returns:
the new CompletionStage
Since:
12
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function, using the supplied Executor.
Otherwise, if this stage completes normally, then the returned
stage also completes normally with the same value.
Implementation Requirements:
Parameters:
fn - the function to use to compute the value of the
returned CompletionStage if this CompletionStage completed
exceptionally
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Since:
12
Returns a new CompletionStage that, when this stage completes
exceptionally, is composed using the results of the supplied
function applied to this stage's exception.
Implementation Requirements:
Parameters:
fn - the function to use to compute the returned
CompletionStage if this CompletionStage completed exceptionally
Returns:
the new CompletionStage
Since:
12
exceptionallyComposeAsync
Returns a new CompletionStage that, when this stage completes
exceptionally, is composed using the results of the supplied
function applied to this stage's exception, using this stage's
default asynchronous execution facility.
Implementation Requirements:
Parameters:
fn - the function to use to compute the returned
CompletionStage if this CompletionStage completed exceptionally
Returns:
the new CompletionStage
Since:
12
exceptionallyComposeAsync
Returns a new CompletionStage that, when this stage completes
exceptionally, is composed using the results of the supplied
function applied to this stage's exception, using the
supplied Executor.
Implementation Requirements:
Parameters:
fn - the function to use to compute the returned
CompletionStage if this CompletionStage completed exceptionally
executor - the executor to use for asynchronous execution
Returns:
the new CompletionStage
Since:
12
Returns a
CompletableFuture maintaining the same
completion properties as this stage. If this stage is already a
CompletableFuture, this method may return this stage itself.
Otherwise, invocation of this method may be equivalent in
effect to
thenApply(x -> x), but returning an instance
of type
CompletableFuture.
Returns:
the CompletableFuture
|
FlexDoc/Javadoc 2.0 Demo Java Doc |
FlexDoc/Javadoc is a template-driven programming tool for rapid development of any Javadoc-based Java API documentation generators (i.e. doclets). If you need to customize your Javadoc without writing a full-blown doclet from scratch,
FlexDoc/Javadoc may be the only tool able to help you! Find out more at
www.flexdoc.xyz