public interface BundleFileLocatorHelper
From a bundle to its location on the filesystem. Assumes the bundle is not a jar.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_NAME
The name of the custom implementation for this interface in a fragment.
|
static BundleFileLocatorHelper |
DEFAULT
The default instance supports felix and equinox
|
Modifier and Type | Method and Description |
---|---|
java.util.Enumeration<java.net.URL> |
findEntries(org.osgi.framework.Bundle bundle,
java.lang.String entryPath)
Helper method equivalent to Bundle#getEntry(String entryPath) except that
it searches for entries in the fragments by using the findEntries method.
|
java.io.File |
getBundleInstallLocation(org.osgi.framework.Bundle bundle)
Works with equinox, felix, nuxeo and probably more.
|
java.io.File |
getFileInBundle(org.osgi.framework.Bundle bundle,
java.lang.String path)
Locate a file inside a bundle.
|
java.net.URL |
getFileURL(java.net.URL url)
Only useful for equinox: on felix we get the
file:// url already. |
java.net.URL |
getLocalURL(java.net.URL url)
Only useful for equinox: on felix we get the
file:// or jar:// url
already. |
java.io.File[] |
locateJarsInsideBundle(org.osgi.framework.Bundle bundle)
If the bundle is a jar, returns the jar.
|
static final java.lang.String CLASS_NAME
static final BundleFileLocatorHelper DEFAULT
java.io.File getBundleInstallLocation(org.osgi.framework.Bundle bundle) throws java.lang.Exception
Currently only works with bundles that are not jar.
bundle
- The bundlejava.lang.Exception
- if unable to get the install locationjava.io.File getFileInBundle(org.osgi.framework.Bundle bundle, java.lang.String path) throws java.lang.Exception
bundle
- the bundlepath
- the pathjava.lang.Exception
- if unable to get the filejava.io.File[] locateJarsInsideBundle(org.osgi.framework.Bundle bundle) throws java.lang.Exception
Good enough for our purpose (TldLocationsCache when it scans for tld files inside jars alone. In fact we only support the second situation for development purpose where the bundle was imported in pde and the classes kept in a jar.
bundle
- the bundlejava.lang.Exception
- if unable to locate the jarsjava.util.Enumeration<java.net.URL> findEntries(org.osgi.framework.Bundle bundle, java.lang.String entryPath)
bundle
- the bundleentryPath
- the entry pathjava.net.URL getLocalURL(java.net.URL url) throws java.lang.Exception
file://
or jar://
url
already. Other OSGi implementations have not been tested
Get a URL to the bundle entry that uses a common protocol (i.e. file:
jar:
or http:
etc.).
url
- the urljava.lang.Exception
- if unable to get the local urljava.net.URL getFileURL(java.net.URL url) throws java.lang.Exception
file://
url already. Other
OSGi implementations have not been tested
Get a URL to the content of the bundle entry that uses the file:
protocol. The content of the bundle entry may be downloaded or extracted
to the local file system in order to create a file: URL.
url
- the urljava.lang.Exception
- if unable to get the file urlCopyright © 1995–2023 Webtide. All rights reserved.