Class Solstice


  • public class Solstice
    extends java.lang.Object
    Represents a closed universe of OSGi bundles.
    • Method Detail

      • findBundlesOnClasspath

        public static Solstice findBundlesOnClasspath()
        Creates a Solstice instance by finding all available bundles on the classpath.
      • bundlesOnClasspathOutOf

        public java.util.List<java.lang.String> bundlesOnClasspathOutOf​(java.util.Collection<java.lang.String> symbolicNames)
      • bySymbolicName

        public java.util.Map<java.lang.String,​java.util.List<SolsticeManifest>> bySymbolicName()
      • byExportedPackage

        public java.util.Map<java.lang.String,​java.util.List<SolsticeManifest>> byExportedPackage()
      • calculateMissingBundles

        public java.util.Map<java.lang.String,​java.util.List<SolsticeManifest>> calculateMissingBundles​(java.util.Set<java.lang.String> available)
      • calculateMissingPackages

        public java.util.Map<java.lang.String,​java.util.List<SolsticeManifest>> calculateMissingPackages​(java.util.Set<java.lang.String> available)
      • warnAndModifyManifestsToFix

        public void warnAndModifyManifestsToFix()
        Sends warnings to logger, then modifies every manifest to resolve all these warnings.
        • multiple bundles with same symbolic name (resolved by first one on the classpath, since that's what Class.forName will do)
        • multiple bundles which export the same package (resolved by first one on the classpath, since that's what Class.forName will do)
        • required bundle which is not present (resolved by removing requirement from the SolsticeManifest)
        • imported package which is not present (resolved by removing import from the SolsticeManifest)
      • warnAndModifyManifestsToFix

        public void warnAndModifyManifestsToFix​(org.slf4j.Logger logger)
      • openAtomos

        public void openAtomos​(java.util.Map<java.lang.String,​java.lang.String> props)
                        throws org.osgi.framework.BundleException
        Throws:
        org.osgi.framework.BundleException
      • openShim

        public void openShim​(java.util.Map<java.lang.String,​java.lang.String> props)
      • getContext

        public org.osgi.framework.BundleContext getContext()
      • startAllWithLazy

        public void startAllWithLazy​(boolean lazyValue)
        Starts all hydrated manfiests.
      • start

        public void start​(java.lang.String symbolicName)
        Starts all bundles with the given symbolic name, and all of their transitive dependencies as well.
      • startWithoutTransitives

        public void startWithoutTransitives​(java.lang.String symbolicName)
        Starts all bundles with the given symbolic name, without starting their transitive dependencies.