bee
Task
<C
>
C
>C
The type of the configuration class specific to this task. If no specific configuration is needed, this can be omitted or
Object
can be used.
kiss.Extensible
Defines the basic structure for all tasks within the Bee build system.
Tasks are defined as interfaces extending this Task
interface.
They declare their available operations as methods annotated with Command
.
Tasks can be parameterized with a configuration class (C
) to manage
task-specific settings. These settings are typically stored per project.
Use the static factory method #by(Class)
to obtain an executable instance
of a task interface.
help
()
void
Displays a detailed help message for this task, including descriptions of all available commands and configuration options. This command is available by default for all tasks.
Implementation relies on TaskInfo#describe(UserInterface)
to gather and format
the task's metadata.
config
()
C
C |
The project-specific configuration instance of type |
Retrieves the configuration object associated with the current project for this specific task.
The configuration class is determined by reflecting on the generic type parameter C
of this Task
interface implementation. The actual configuration instance is managed
per project using Project#associate(Class)
.
If the task interface is not parameterized (i.e., C
is effectively Object
),
this method returns null
.
by
(ClassT
task
)
T
ClassT
task
)T
|
The specific type of the task interface. |
Class task |
The |
T |
An executable proxy instance implementing the requested task interface |
Static factory method to obtain an executable instance of a specified task interface.
This method uses TaskInfo
to find the metadata for the given task interface
and creates a dynamic proxy instance that handles command execution, caching, and
UI interactions.