package com.github.czyzby.autumn.mvc.component.ui.action; import com.github.czyzby.autumn.mvc.component.ui.InterfaceService; import com.github.czyzby.lml.parser.action.ActorConsumer; /** An action that represents screen transition. Changes current view on invocation. * * @author MJ */ public class ScreenTransitionAction implements ActorConsumer<Void, Object> { private final InterfaceService interfaceService; private final Class<?> viewControllerClass; public ScreenTransitionAction(final InterfaceService interfaceService, final Class<?> viewControllerClass) { this.interfaceService = interfaceService; this.viewControllerClass = viewControllerClass; } @Override public Void consume(final Object actor) { interfaceService.show(viewControllerClass); return null; } }