private void invokeRemoveOptionalDependencies() { for (DependencyContext d : m_dependencies) { if (! d.isRequired()) { for (Event e : m_dependencyEvents.get(d)) { invokeCallback(d, EventType.REMOVED, e); } } } }
private void invokeAddOptionalDependencies() { for (DependencyContext d : m_dependencies) { if (! d.isRequired()) { for (Event e : m_dependencyEvents.get(d)) { invokeCallback(d, EventType.ADDED, e); } } } }
/** * Invokes a swap callback, except if the dependency is optional and the component is * not started (optional dependencies are always injected while the component is started). */ private void invokeSwapCallback(DependencyContext dc, Event oldEvent, Event newEvent) { if (! dc.isRequired() && ! m_startCalled) { return; } dc.invokeCallback(EventType.SWAPPED, oldEvent, newEvent); }
private void invokeAddRequiredInstanceBoundDependencies() { for (DependencyContext d : m_dependencies) { if (d.isRequired() && d.isInstanceBound()) { for (Event e : m_dependencyEvents.get(d)) { invokeCallback(d, EventType.ADDED, e); } } } }
private void invokeRemoveRequiredInstanceBoundDependencies() { for (DependencyContext d : m_dependencies) { if (d.isInstanceBound() && d.isRequired()) { for (Event e : m_dependencyEvents.get(d)) { invokeCallback(d, EventType.REMOVED, e); } } } }
private void invokeAddRequiredDependencies() { for (DependencyContext d : m_dependencies) { if (d.isRequired() && !d.isInstanceBound()) { for (Event e : m_dependencyEvents.get(d)) { invokeCallback(d, EventType.ADDED, e); } } } }
private void invokeRemoveRequiredDependencies() { for (DependencyContext d : m_dependencies) { if (!d.isInstanceBound() && d.isRequired()) { for (Event e : m_dependencyEvents.get(d)) { invokeCallback(d, EventType.REMOVED, e); } } } }
private boolean allRequiredAvailable() { boolean available = true; for (DependencyContext d : m_dependencies) { if (d.isRequired() && !d.isInstanceBound()) { if (!d.isAvailable()) { available = false; break; } } } return available; }
private boolean allInstanceBoundAvailable() { boolean available = true; for (DependencyContext d : m_dependencies) { if (d.isRequired() && d.isInstanceBound()) { if (!d.isAvailable()) { available = false; break; } } } return available; }
public ComponentDependencyDeclaration[] getComponentDependencies() { List<DependencyContext> deps = getDependencies(); if (deps != null) { ComponentDependencyDeclaration[] result = new ComponentDependencyDeclaration[deps.size()]; for (int i = 0; i < result.length; i++) { DependencyContext dep = (DependencyContext) deps.get(i); if (dep instanceof ComponentDependencyDeclaration) { result[i] = (ComponentDependencyDeclaration) dep; } else { result[i] = new SCDImpl(dep.toString(), (dep.isAvailable() ? 1 : 0) + (dep.isRequired() ? 2 : 0), dep.getClass().getName()); } } return result; } return null; }
if (! dc.isRequired() && ! m_startCalled) { return;
private void startDependencies(List<DependencyContext> dependencies) { // Start first optional dependencies first. m_logger.debug("startDependencies."); List<DependencyContext> requiredDeps = new ArrayList<>(); for (DependencyContext d : dependencies) { if (d.isRequired()) { requiredDeps.add(d); continue; } if (d.needsInstance()) { instantiateComponent(); } d.start(); } // now, start required dependencies. for (DependencyContext d : requiredDeps) { if (d.needsInstance()) { instantiateComponent(); } d.start(); } }
if (dc.isStarted() && dc.isRequired()) { handleChange(); updateInstance(dc, e, false, true); } else { if (dc.isStarted() && dc.isRequired()) { handleChange();