- java.lang.Object
-
- aeonics.template.Item<Step.Type>
-
- aeonics.entity.Step
-
- aeonics.entity.Step.Origin
-
- Direct Known Subclasses:
HttpServer
,Scheduled
- Enclosing class:
- Step
public static class Step.Origin extends Step
This class represents the Origin of data. It is the starting point of a data flow.For each mew message, you should call the
Step.Origin.Type.produce(Message, String)
method to inject data in the system, which will transfer the message to next processing steps.There are two recommended ways to create your own item inline (without creating a full class). The first method allows to provide the data collector function and registers automatically the template in the factory and the instance in the registry:
Origin.Type item = new Origin() { } // <-- note the '{ }' to create a new anonymous class // specify which variant to use .target(Origin.Background.class) .creator(Origin.Background::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 // set the processing function .<Origin.Background>cast() .run(() -> { })
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 Origin.Type { private void start() { } public void stop() { } } Origin.Type item = new Origin() { } // <-- 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.Origin.Background
This class represents a data Origin that runs in the background in order to collect data and inject it in the system.static class
Step.Origin.NetworkClient
This class represents a data Origin that connects to a remote network endpoint to fetch data.static class
Step.Origin.NetworkServer
This class represents a data Origin that listens for network data.static class
Step.Origin.Type
Represents the type definition for aStep.Origin
, including its message generation 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 Origin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.function.Supplier<? extends Step.Origin.Type>
defaultCreator()
Returns the default target entity creator.protected java.lang.Class<? extends Step.Origin.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.Origin.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.Origin.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.
-
-