Module io.helidon.scheduling
Package io.helidon.scheduling
Class CronConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends CronConfig>
java.lang.Object
io.helidon.scheduling.TaskConfig.BuilderBase<BUILDER,PROTOTYPE>
io.helidon.scheduling.CronConfig.BuilderBase<BUILDER,PROTOTYPE>
- Type Parameters:
BUILDER
- type of the builder extending this abstract builderPROTOTYPE
- type of the prototype interface that would be built byPrototype.Builder.buildPrototype()
- All Implemented Interfaces:
Prototype.Builder<BUILDER,
,PROTOTYPE> Prototype.ConfiguredBuilder<BUILDER,
PROTOTYPE>
- Direct Known Subclasses:
CronConfig.Builder
- Enclosing interface:
CronConfig
public abstract static class CronConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends CronConfig>
extends TaskConfig.BuilderBase<BUILDER,PROTOTYPE>
implements Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for
Cron
.-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Generated implementation of the prototype, can be extended by descendant prototype implementations.Nested classes/interfaces inherited from class io.helidon.scheduling.TaskConfig.BuilderBase
TaskConfig.BuilderBase.TaskConfigImpl
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Allow concurrent execution if previous task didn't finish before next execution.concurrentExecution
(boolean concurrentExecution) Allow concurrent execution if previous task didn't finish before next execution.config()
If this instance was configured, this would be the config instance used.Update builder from configuration (node of this type).Cron expression for specifying period of execution.expression
(String expression) Cron expression for specifying period of execution.from
(CronConfig prototype) Update this builder from an existing prototype instance.from
(CronConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.protected void
Handles providers and decorators.task()
Task to be scheduled for execution.task
(ScheduledConsumer<CronInvocation> task) Task to be scheduled for execution.toString()
protected void
Validates required properties.Methods inherited from class io.helidon.scheduling.TaskConfig.BuilderBase
executor, executor, from, from
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.helidon.builder.api.Prototype.Builder
buildPrototype, self
Methods inherited from interface io.helidon.builder.api.Prototype.ConfiguredBuilder
discoverService, discoverServices
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
Update this builder from an existing prototype instance. This method disables automatic service discovery.- Parameters:
prototype
- existing prototype to update this builder from- Returns:
- updated builder instance
-
from
Update this builder from an existing prototype builder instance.- Parameters:
builder
- existing builder prototype to update this builder from- Returns:
- updated builder instance
-
config
Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
config
in interfacePrototype.ConfiguredBuilder<BUILDER extends CronConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends CronConfig> - Overrides:
config
in classTaskConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends CronConfig> - Parameters:
config
- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
expression
Cron expression for specifying period of execution.Examples:
0/2 * * * * ? *
- Every 2 seconds0 45 9 ? * *
- Every day at 9:450 15 8 ? * MON-FRI
- Every workday at 8:15
- Parameters:
expression
- cron expression- Returns:
- updated builder instance
- See Also:
-
concurrentExecution
Allow concurrent execution if previous task didn't finish before next execution. Default value istrue
.- Parameters:
concurrentExecution
- true for allow concurrent execution.- Returns:
- updated builder instance
- See Also:
-
task
Task to be scheduled for execution.- Parameters:
task
- scheduled for execution- Returns:
- updated builder instance
- See Also:
-
expression
Cron expression for specifying period of execution.Examples:
0/2 * * * * ? *
- Every 2 seconds0 45 9 ? * *
- Every day at 9:450 15 8 ? * MON-FRI
- Every workday at 8:15
- Returns:
- the expression
-
concurrentExecution
public boolean concurrentExecution()Allow concurrent execution if previous task didn't finish before next execution. Default value istrue
.- Returns:
- the concurrent execution
-
task
Task to be scheduled for execution.- Returns:
- the task
-
config
If this instance was configured, this would be the config instance used.- Overrides:
config
in classTaskConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends CronConfig> - Returns:
- config node used to configure this builder, or empty if not configured
-
toString
- Overrides:
toString
in classTaskConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends CronConfig>
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators.- Overrides:
preBuildPrototype
in classTaskConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends CronConfig>
-
validatePrototype
protected void validatePrototype()Validates required properties.- Overrides:
validatePrototype
in classTaskConfig.BuilderBase<BUILDER extends CronConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends CronConfig>
-