private Dependency createBundleDependency(DependencyManager dm, String added, String changed, String removed, boolean required, boolean propagate, String filter, int stateMask) { BundleDependency bd = dm.createBundleDependency(); bd.setCallbacks(added, changed, removed); bd.setRequired(required); bd.setPropagate(propagate); if (filter != null) { bd.setFilter(filter); } if (stateMask != -1) { bd.setStateMask(stateMask); } return bd; }
.setStateMask(m_bundleStateMask) .setPropagate(m_propagate) .setCallbacks(m_cbInstance, m_add, m_change, m_remove) // if no callbacks, autoconfig is enabled .setRequired(true));
@Override protected void startInitial() { DependencyManager dm = getDependencyManager(); m_component .setImplementation(new BundleAdapterDecorator()) .add(dm.createBundleDependency() .setFilter(m_bundleFilter) .setStateMask(m_bundleStateMask) .setCallbacks("added", "removed")) .setCallbacks("init", null, "stop", null); }
dep.setCallbacks(m_instance, m_added, m_changed, m_removed); } else if (m_refs.size() > 0) { Object cb = createCallbackInstance(); dep.setCallbacks(cb, "add", "change", "remove");
@Override public void init(BundleContext context, DependencyManager manager) throws Exception { manager.add(createComponent() .setImplementation(ProcessDefinitionDeployerImpl.class) .setInterface(ProcessDefinitionDeployer.class.getName(), null) .add(createServiceDependency() .setService(ProcessEngine.class) .setRequired(true))); manager.add(createComponent() .setImplementation(ProcessDefinitionCheckerImpl.class) .add(createBundleDependency() .setCallbacks("checkBundle","checkBundle", "bundleRemoved")) .add(createServiceDependency() .setService(ProcessDefinitionDeployer.class) .setRequired(true))); manager.add(createComponent() .setImplementation(ScriptEngineBundleScanner.class) .add(createBundleDependency() .setCallbacks("addBundle", "modifiedBundle", "removedBundle"))); } }
.setStateMask(Bundle.ACTIVE) .setFilter("(DependencyManager-Component=*)") .setCallbacks("bundleStarted", "bundleStopped")) .add(createServiceDependency() .setRequired(true)