- java.lang.Object
-
- aeonics.template.Item<Step.Type>
-
- aeonics.entity.Step
-
- aeonics.entity.Step.Action
-
- Enclosing class:
- Step
public abstract static class Step.Action extends Step
This entity represents an Action taken against data. It is an intermediate step of a data flow.There are two recommended ways to create your own action inline (without creating a full class). The first method allows to provide the data processing function and registers automatically the template in the factory and the instance in the registry:
Action.Type action = new Action() { } // <-- note the '{ }' to create a new anonymous class .template() // <-- create the template and register it in the factory // add all your template documentation .summary("Does something") .create() // <-- create an instance of the entity and register it in the registry // set the processing function .processor((message, input, output) -> null); // <-- the process logic
If you need more control over the behavior such as private member variables or multiple methods, then you need to declare a custom entity and register it before calling the template method:
public static class MyEntity extends Action.Type { private int response = 42; private Message respond() { return new Message().content().put("foo", response); } public Message process(Message message, String input, String output) { return respond(); } } Action.Type action = new Action() { } // <-- note the '{ }' to create a new anonymous class // register the custom entity before calling the template .target(MyEntity.class) .creator(MyEntity::new) .template() // <-- create the template and register it in the factory // add all your template documentation .summary("Does something") .create(); // <-- create an instance of the entity and register it in the registry
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Step.Action.Type
Represents the type definition for aStep.Action
, including its processing logic.-
Nested classes/interfaces inherited from class aeonics.entity.Step
Step.Action, Step.Destination, Step.Origin, Step.ROLE, Step.Template
-
-
Constructor Summary
Constructors Constructor Description Action()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.function.Supplier<? extends Step.Action.Type>
defaultCreator()
Returns the default target entity creator.protected java.lang.Class<? extends Step.Action.Type>
defaultTarget()
Returns the default target entity type.Step.Template
template()
Returns the template to build the target entity.
-
-
-
Method Detail
-
defaultTarget
protected java.lang.Class<? extends Step.Action.Type> defaultTarget()
Description copied from class:Item
Returns the default target entity type. This method should be implemented by subclasses to specify the target entity type.- Specified by:
defaultTarget
in classItem<Step.Type>
- Returns:
- the default target entity type
-
defaultCreator
protected java.util.function.Supplier<? extends Step.Action.Type> defaultCreator()
Description copied from class:Item
Returns the default target entity creator. This method should be implemented by subclasses to specify the entity creator.- Specified by:
defaultCreator
in classItem<Step.Type>
- Returns:
- the default target entity creator
-
template
public Step.Template template()
Description copied from class:Item
Returns the template to build the target entity.This method should ultimately be used to provide the final entity template. Although, it may also provide a partial template that subclassed may complement.
-
-