/** * Add scoped alias. * * @param alias the alias * @param original the original * @param scopeKey the scope key * @param controller the controller * @throws Throwable for any error */ public static void addAlias(Object alias, Object original, ScopeKey scopeKey, Controller controller) throws Throwable { if (controller instanceof AbstractController == false) throw new IllegalArgumentException("Can only handle AbstractController."); AbstractController ac = (AbstractController)controller; Map<ControllerState, ControllerContextAction> map = ac.createAliasActions(); ControllerContextActions actions = new AbstractControllerContextActions(map); controller.install(new ScopedAliasControllerContext(alias, original, scopeKey, actions)); }
controller.install(context);