
aQute.bnd.runtime.facade.FrameworkFacade Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of biz.aQute.bnd.runtime.snapshot Show documentation
Show all versions of biz.aQute.bnd.runtime.snapshot Show documentation
biz.aQute.bnd.runtime.snapshot
The newest version!
package aQute.bnd.runtime.facade;
import static aQute.bnd.runtime.util.Util.asBean;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
import org.osgi.dto.DTO;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
import org.osgi.framework.dto.BundleDTO;
import org.osgi.framework.dto.FrameworkDTO;
import org.osgi.framework.dto.ServiceReferenceDTO;
import org.osgi.framework.hooks.service.ListenerHook;
import org.osgi.framework.hooks.service.ListenerHook.ListenerInfo;
import org.osgi.framework.startlevel.BundleStartLevel;
import org.osgi.framework.wiring.BundleRevisions;
import org.osgi.framework.wiring.dto.BundleWiringDTO;
import org.osgi.util.tracker.ServiceTracker;
import aQute.bnd.header.Parameters;
import aQute.bnd.runtime.api.SnapshotProvider;
import aQute.bnd.runtime.util.Util;
import aQute.lib.collections.MultiMap;
public class FrameworkFacade implements SnapshotProvider {
final BundleContext context;
final MultiMap serviceListeners = new MultiMap<>();
@SuppressWarnings("deprecation")
final ServiceTracker packageAdminTracker;
final AtomicLong number = new AtomicLong();
final Map packages = new ConcurrentHashMap<>();
final TimeMeasurement timing;
private ServiceRegistration listenerHook;
public static class XBundleDTO extends BundleDTO {
public String location;
public int startLevel;
public boolean persistentlyStarted;
public boolean activationPolicyUsed;
public Map headers = new LinkedHashMap<>();
public List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy