/** * Handle lifecycle callbacks. * * @param context the context * @param state the state * @param install is it install or uninstall * @throws Throwable for any error */ protected void handleLifecycleCallbacks(ControllerContext context, ControllerState state, boolean install) throws Throwable { DependencyInfo di = context.getDependencyInfo(); if (di != null) { List<LifecycleCallbackItem> callbacks = di.getLifecycleCallbacks(); for (LifecycleCallbackItem callback : callbacks) { if (callback.getWhenRequired().equals(state)) { if (install) callback.install(context); else callback.uninstall(context); } } } }