package com.rapidftr.controllers.internal;
import com.rapidftr.net.HttpBatchRequestHandler;
import com.rapidftr.screens.internal.CustomScreen;
import com.rapidftr.screens.internal.UiStack;
import com.rapidftr.services.ControllerCallback;
import com.rapidftr.services.RequestAwareService;
import com.rapidftr.services.RequestCallBackImpl;
import com.rapidftr.services.ScreenCallBack;
public abstract class RequestAwareController extends Controller implements ControllerCallback {
protected HttpBatchRequestHandler requestHandler;
protected RequestAwareService service;
private ScreenCallBack screenCallBack;
public RequestAwareController(CustomScreen screen, UiStack uiStack, RequestAwareService service, Dispatcher dispatcher) {
super(screen, uiStack, dispatcher);
this.service = service;
requestHandler = service.getRequestHandler();
if (requestHandler != null) {
((RequestCallBackImpl) requestHandler.getRequestCallBack()).setScreenCallback((ScreenCallBack) screen);
((RequestCallBackImpl) requestHandler.getRequestCallBack()).setControllerCallback(this);
}
screen.setController(this);
screenCallBack = (ScreenCallBack) screen;
}
public ScreenCallBack getScreenCallBack() {
return screenCallBack;
}
public void beforeProcessStart() {
}
}