org.eclipse.osgi.baseadaptor.bundlefile
Class NestedDirBundleFile

java.lang.Object
  extended by org.eclipse.osgi.baseadaptor.bundlefile.BundleFile
      extended by org.eclipse.osgi.baseadaptor.bundlefile.NestedDirBundleFile

public class NestedDirBundleFile
extends BundleFile

A NestedDirBundleFile uses another BundleFile as its source but accesses all of its resources relative to a nested directory within the other BundleFile object. This is used to support zipped bundles that use a Bundle-ClassPath with an nested directory specified.

For Example:

 Bundle-ClassPath: nested.jar,nesteddir/
 

Since:
3.2

Field Summary
 
Fields inherited from class org.eclipse.osgi.baseadaptor.bundlefile.BundleFile
basefile, PROP_SETPERMS_CMD
 
Constructor Summary
NestedDirBundleFile(BundleFile baseBundlefile, java.lang.String cp)
          Constructs a NestedDirBundleFile
 
Method Summary
 void close()
          Closes the BundleFile.
 boolean containsDir(java.lang.String dir)
          Determines if any BundleEntries exist in the given directory path.
 BundleEntry getEntry(java.lang.String path)
          Locates a file name in this bundle and returns a BundleEntry object
 java.util.Enumeration getEntryPaths(java.lang.String path)
          Allows to access the entries of the bundle.
 java.io.File getFile(java.lang.String entry, boolean nativeCode)
          Returns a File for the bundle entry specified by the path.
 void open()
          Opens the BundleFiles.
 
Methods inherited from class org.eclipse.osgi.baseadaptor.bundlefile.BundleFile
getBaseFile, getResourceURL, getResourceURL, getResourceURL, setPermissions, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NestedDirBundleFile

public NestedDirBundleFile(BundleFile baseBundlefile,
                           java.lang.String cp)
Constructs a NestedDirBundleFile

Parameters:
baseBundlefile - the base bundle file
cp -
Method Detail

close

public void close()
Description copied from class: BundleFile
Closes the BundleFile.

Specified by:
close in class BundleFile

getEntry

public BundleEntry getEntry(java.lang.String path)
Description copied from class: BundleFile
Locates a file name in this bundle and returns a BundleEntry object

Specified by:
getEntry in class BundleFile
Parameters:
path - path of the entry to locate in the bundle
Returns:
BundleEntry object or null if the file name does not exist in the bundle

containsDir

public boolean containsDir(java.lang.String dir)
Description copied from class: BundleFile
Determines if any BundleEntries exist in the given directory path.

Specified by:
containsDir in class BundleFile
Parameters:
dir - The directory path to check existence of.
Returns:
true if the BundleFile contains entries under the given directory path; false otherwise.

getEntryPaths

public java.util.Enumeration getEntryPaths(java.lang.String path)
Description copied from class: BundleFile
Allows to access the entries of the bundle. Since the bundle content is usually a jar, this allows to access the jar contents. GetEntryPaths allows to enumerate the content of "path". If path is a directory, it is equivalent to listing the directory contents. The returned names are either files or directories themselves. If a returned name is a directory, it finishes with a slash. If a returned name is a file, it does not finish with a slash.

Specified by:
getEntryPaths in class BundleFile
Parameters:
path - path of the entry to locate in the bundle
Returns:
an Enumeration of Strings that indicate the paths found or null if the path does not exist.

getFile

public java.io.File getFile(java.lang.String entry,
                            boolean nativeCode)
Description copied from class: BundleFile
Returns a File for the bundle entry specified by the path. If required the content of the bundle entry is extracted into a file on the file system.

Specified by:
getFile in class BundleFile
Parameters:
entry - The path to the entry to locate a File for.
nativeCode - true if the path is native code.
Returns:
A File object to access the contents of the bundle entry.

open

public void open()
          throws java.io.IOException
Description copied from class: BundleFile
Opens the BundleFiles.

Specified by:
open in class BundleFile
Throws:
java.io.IOException - if any error occurs.