package org.camunda.bpm.extension.mockito.answer;
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.JavaDelegate;
/**
* This is a specialized {@link org.mockito.stubbing.Answer} that delegates to
* the given {@link org.camunda.bpm.engine.delegate.JavaDelegate}. When using an
* JavaDelegate-Mock, this Answer can be used to implement internal behavior of
* the mock by delegating the method call to the given delegate instance.
*
* @author Jan Galinski, Holisticon AG
*/
public class JavaDelegateAnswer extends AbstractAnswer<DelegateExecution> implements JavaDelegate {
private final JavaDelegate javaDelegate;
public JavaDelegateAnswer(final JavaDelegate javaDelegate) {
this.javaDelegate = javaDelegate;
}
@Override
public void execute(final DelegateExecution execution) throws Exception {
javaDelegate.execute(execution);
}
@Override
protected void answer(final DelegateExecution delegateExecution) throws Exception {
execute(delegateExecution);
}
}