Class BundleUtils

java.lang.Object
org.apache.xbean.osgi.bundle.util.BundleUtils

public class BundleUtils extends Object
Version:
$Rev: 1347954 $ $Date: 2012-06-08 11:08:40 +0200 (Fri, 08 Jun 2012) $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    canStart(org.osgi.framework.Bundle bundle)
    If the bundle fulfills the conditions below, it could be started a.
    static boolean
    canStop(org.osgi.framework.Bundle bundle)
    If the bundle fulfills the conditions below, it could be stopped a.
    static boolean
    canUninstall(org.osgi.framework.Bundle bundle)
    If the bundle fulfills the conditions below, it could be un-installed a.
    static org.osgi.framework.Bundle
    getBundle(ClassLoader classLoader, boolean unwrap)
    Returns bundle (if any) associated with the classloader.
    static org.osgi.framework.Bundle
    getContextBundle(boolean unwrap)
    Returns bundle (if any) associated with current thread's context classloader.
    static URL
    getEntry(org.osgi.framework.Bundle bundle, String name)
    1, If the bundle was installed with reference directory mode return the file URL directly.
    getEntryPaths(org.osgi.framework.Bundle bundle, String name)
    Works like Bundle.getEntryPaths(String) but also returns paths in attached fragment bundles.
    static URL
    getNestedEntry(org.osgi.framework.Bundle bundle, String jarEntryName, String subEntryName)
     
    static LinkedHashSet<org.osgi.framework.Bundle>
    getWiredBundles(org.osgi.framework.Bundle bundle)
     
    static LinkedHashSet<org.osgi.framework.Bundle>
    getWiredBundles(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle)
     
    static boolean
    isFragment(org.osgi.framework.Bundle bundle)
     
    static boolean
    isResolved(org.osgi.framework.Bundle bundle)
    Based on the constant field values, if it is bigger than the RESOLVED status value, the bundle has been resolved by the framework
    static void
    resolve(org.osgi.framework.Bundle bundle)
    resolve method will try to load the Object.class, the behavior triggers a resolved request to the OSGI framework.
    static File
    Translate the reference:file:// style URL to the underlying file instance
    static File
    toFile(URL url)
     
    static File
    toFile(org.osgi.framework.Bundle bundle)
     
    static String
     
    static org.osgi.framework.Bundle
    unwrapBundle(org.osgi.framework.Bundle bundle)
    If the given bundle is a DelegatingBundle this function will return the main application bundle backing the DelegatingBundle.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • BundleUtils

      public BundleUtils()
  • Method Details

    • isResolved

      public static boolean isResolved(org.osgi.framework.Bundle bundle)
      Based on the constant field values, if it is bigger than the RESOLVED status value, the bundle has been resolved by the framework
      Parameters:
      bundle -
      Returns:
      true if the bundle is resolved, or false if not.
    • resolve

      public static void resolve(org.osgi.framework.Bundle bundle)
      resolve method will try to load the Object.class, the behavior triggers a resolved request to the OSGI framework.
      Parameters:
      bundle -
    • canStart

      public static boolean canStart(org.osgi.framework.Bundle bundle)
      If the bundle fulfills the conditions below, it could be started a. Not in the UNINSTALLED status. b. Not in the STARTING status. c. Not a fragment bundle.
      Parameters:
      bundle -
      Returns:
    • canStop

      public static boolean canStop(org.osgi.framework.Bundle bundle)
      If the bundle fulfills the conditions below, it could be stopped a. Not in the UNINSTALLED status. b. Not in the STOPPING status. c. Not a fragment bundle.
      Parameters:
      bundle -
      Returns:
    • canUninstall

      public static boolean canUninstall(org.osgi.framework.Bundle bundle)
      If the bundle fulfills the conditions below, it could be un-installed a. Not in the UNINSTALLED status.
      Parameters:
      bundle -
      Returns:
    • isFragment

      public static boolean isFragment(org.osgi.framework.Bundle bundle)
    • getContextBundle

      public static org.osgi.framework.Bundle getContextBundle(boolean unwrap)
      Returns bundle (if any) associated with current thread's context classloader. Invoking this method is equivalent to getBundle(Thread.currentThread().getContextClassLoader(), unwrap)
    • getBundle

      public static org.osgi.framework.Bundle getBundle(ClassLoader classLoader, boolean unwrap)
      Returns bundle (if any) associated with the classloader.
      Parameters:
      classLoader -
      unwrap - if true and if the bundle associated with the context classloader is a DelegatingBundle, this function will return the main application bundle backing the DelegatingBundle. Otherwise, the bundle associated with the context classloader is returned as is. See BundleClassLoader.getBundle(boolean) for more information.
      Returns:
      The bundle associated with the classloader. Might be null.
    • unwrapBundle

      public static org.osgi.framework.Bundle unwrapBundle(org.osgi.framework.Bundle bundle)
      If the given bundle is a DelegatingBundle this function will return the main application bundle backing the DelegatingBundle. Otherwise, the bundle passed in is returned as is.
    • getEntryPaths

      public static Enumeration<String> getEntryPaths(org.osgi.framework.Bundle bundle, String name)
      Works like Bundle.getEntryPaths(String) but also returns paths in attached fragment bundles.
      Parameters:
      bundle -
      name -
      Returns:
    • getEntry

      public static URL getEntry(org.osgi.framework.Bundle bundle, String name) throws MalformedURLException
      1, If the bundle was installed with reference directory mode return the file URL directly. 2, For traditional package bundle, Works like Bundle.getEntry(String) In addition to the searching abaove, it also checks attached fragment bundles for the given entry.
      Parameters:
      bundle -
      name -
      Returns:
      Throws:
      MalformedURLException
    • getNestedEntry

      public static URL getNestedEntry(org.osgi.framework.Bundle bundle, String jarEntryName, String subEntryName) throws MalformedURLException
      Throws:
      MalformedURLException
    • toFile

      public static File toFile(org.osgi.framework.Bundle bundle)
    • toFile

      public static File toFile(URL url)
    • toFile

      public static File toFile(String url)
      Translate the reference:file:// style URL to the underlying file instance
      Parameters:
      url -
      Returns:
    • toReferenceFileLocation

      public static String toReferenceFileLocation(File file) throws IOException
      Throws:
      IOException
    • getWiredBundles

      public static LinkedHashSet<org.osgi.framework.Bundle> getWiredBundles(org.osgi.framework.Bundle bundle)
    • getWiredBundles

      public static LinkedHashSet<org.osgi.framework.Bundle> getWiredBundles(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle)