Files
event-stream-processing-mic…/account/account-worker/src/main/java/demo/function/UnsuspendAccount.java
Kenny Bastani 2af2788bc7 Cleaning up
2016-12-20 17:30:24 -08:00

39 lines
1.3 KiB
Java

package demo.function;
import demo.account.Account;
import demo.account.AccountStatus;
import demo.event.AccountEvent;
import demo.event.AccountEventType;
import org.apache.log4j.Logger;
import org.springframework.statemachine.StateContext;
import java.util.function.Function;
/**
* The {@link AccountFunction} is an abstraction used to map actions that are triggered by
* state transitions on a {@link demo.account.Account} resource on to a function. Mapped functions
* can take multiple forms and reside either remotely or locally on the classpath of this application.
*
* @author kbastani
*/
public class UnsuspendAccount extends AccountFunction {
final private Logger log = Logger.getLogger(UnsuspendAccount.class);
public UnsuspendAccount(StateContext<AccountStatus, AccountEventType> context, Function<AccountEvent, Account> lambda) {
super(context, lambda);
}
/**
* Apply an {@link AccountEvent} to the lambda function that was provided through the
* constructor of this {@link AccountFunction}.
*
* @param event is the {@link AccountEvent} to apply to the lambda function
*/
@Override
public Account apply(AccountEvent event) {
log.info("Executing workflow for a unsuspended account...");
return super.apply(event);
}
}