package com.android_mvc.sample_project.controller;
import com.android_mvc.sample_project.activities.func_net.HttpNetActivity;
import com.android_mvc.sample_project.domain.HttpNetAction;
import com.android_mvc.framework.controller.BaseController;
import com.android_mvc.framework.controller.ControlFlowDetail;
import com.android_mvc.framework.controller.action.ActionResult;
import com.android_mvc.framework.controller.action.BLExecutor;
import com.android_mvc.framework.controller.validation.ValidationResult;
import com.android_mvc.framework.controller.validation.ValidationExecutor;
/**
* 通信系画面のコントローラ。
* @author id:language_and_engineering
*
*/
public class FuncNetController extends BaseController
{
/**
* HTTP通信画面からの遷移時
*/
public static void submit(final HttpNetActivity activity)
{
new ControlFlowDetail<HttpNetActivity>( activity )
.setValidation( new ValidationExecutor(){
@Override
public ValidationResult doValidate()
{
// バリデーション処理
return new FuncNetValidation().validate( activity );
}
@Override
public void onValidationFailed()
{
showErrMessages();
// バリデーション失敗時の遷移先
stayInThisPage();
}
})
.setBL( new BLExecutor(){
@Override
public ActionResult doAction()
{
// BL
return new HttpNetAction( activity ).exec();
}
})
.onBLExecuted(
// BL実行後の遷移先
STAY_THIS_PAGE_ALWAYS
)
.startControl();
;
}
}