- java.lang.Object
-
- aeonics.template.Item<Step.Type>
-
- aeonics.entity.Step
-
- aeonics.entity.Step.Destination
-
- Direct Known Subclasses:
Console
,HttpResponse
- Enclosing class:
- Step
public abstract static class Step.Destination extends Step
This class represents the Destination of data. It is the termination point of a data flow.There are two recommended ways to create your own item 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:
Destination.Type item = new Destination() { } // <-- 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) -> {}); // <-- 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 end register it before calling the template method:
public static class MyEntity extends Destination.Type { private void log(Message message) { System.out.println(message); } public Message process(Message message, String input) { log(message); return null; } } Destination.Type item = new Destination() { } // <-- 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
Note that the output argument will always be
null
and the method should always returnnull
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Step.Destination.Type
Represents the type definition for aStep.Destination
, 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 Destination()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.function.Supplier<? extends Step.Destination.Type>
defaultCreator()
Returns the default target entity creator.protected java.lang.Class<? extends Step.Destination.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.Destination.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.Destination.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.
-
-