guarana.toolkit.task.modifiers
Class ContextBasedContentEnricher
java.lang.Object
guarana.util.observer.smart.SmartObservable
guarana.framework.task.Task
guarana.toolkit.task.modifiers.Modifier
guarana.toolkit.task.modifiers.ContextBasedContentEnricher
- All Implemented Interfaces:
- ISource, guarana.util.observer.smart.ISmartObserver
public abstract class ContextBasedContentEnricher
- extends Modifier
Adds content to an inbound message's body using content from another context inbound message.
The header from the inbound message is kept to the outbound message.
Outbound message has a new MESSAGE_ID and the inbound message as its parent.
Graphical notation:
This is an Integration Pattern implementation
Problem: How do you add dynamic information to a message, so the receiver has all the required data?
Solution: Use a context content enricher which receives the inbound message and a context message with information from an external source and enriches the former message.
Details:
- Number of Inputs: 2
- Number of Outputs: 1
- Java Object of the inbound message is modified and reused for the outbound message!
- Since:
- Guaranį SDK 1.3.0
- Author:
- Rafael Z. Frantz
Method Summary |
abstract void |
doWork(Exchange exchange)
This method implements the business logic of this task. |
Methods inherited from class guarana.util.observer.smart.SmartObservable |
addSmartObserver, containsSmartObserver, containsSmartObserver, countSmartObservers, deleteSmartObserver, deleteSmartObservers, hasChanged, notifySmartObservers, notifySmartObservers |
ContextBasedContentEnricher
public ContextBasedContentEnricher(String name)
- Constructs a new context content enricher task.
- Parameters:
name
- The name of the content enricher task.
ContextBasedContentEnricher
public ContextBasedContentEnricher(String name,
int numberOfInputs,
int numberOfOutputs)
- Constructs a new context content enricher task.
- Parameters:
name
- The name of this task.numberOfInputs
- The number of input gateways this task must have.numberOfOutputs
- The number of output gateways this task must have.
doWork
public abstract void doWork(Exchange exchange)
throws TaskExecutionException
- This method implements the business logic of this task.
Enriches the body of an inbound message with contextual information from the body of another inbound message.
- Overrides:
doWork
in class Task
- Parameters:
exchange
- An exchange object that holds the inbound messages of this task.
- Throws:
TaskExecutionException
- to report any exception that has occurred during the execution of this method.
Guaranį DSL Home