/** * Register a dependency with another context * * @param controller the controller * @param context the other context */ protected void addDependsOnMe(Controller controller, ControllerContext context) { DependencyInfo info = context.getDependencyInfo(); if (info != null) info.addDependsOnMe(this); }
/** * Add dependency. * * @param controller the controller * @param context changed context * @param isInstallPhase install or uninstall phase */ protected void addDependency(Controller controller, ControllerContext context, boolean isInstallPhase) { if (owner instanceof ControllerContext) { ControllerContext co = (ControllerContext)owner; DependencyItem dependency = createDependencyItem(co); if (dependency != null && dependency.resolve(controller)) { context.getDependencyInfo().addDependsOnMe(dependency); co.getDependencyInfo().addIDependOn(dependency); } } }
/** * Add optional dependency. * * @param controller the controller * @param lookup the lookup context */ protected void addOptionalDependency(Controller controller, ControllerContext lookup) { OptionalDependencyItem dependency = new OptionalDependencyItem(context.getName(), lookup.getName(), lookup.getState()); context.getDependencyInfo().addIDependOn(dependency); lookup.getDependencyInfo().addDependsOnMe(dependency); }