org.knopflerfish.framework.BundlePackages Class Reference

List of all members.


Detailed Description

Class representing all packages imported and exported.

Author:
Jan Stein

Mats-Ola Persson

Definition at line 52 of file BundlePackages.java.


Public Member Functions

String toString ()
 Return a string representing this objet.

Package Functions

 BundlePackages (BundleImpl b, int gen, String exportStr, String importStr, String dimportStr, String requireStr)
 Create package entry.
void registerPackages ()
 Register bundle packages in framework.
synchronized boolean unregisterPackages (boolean force)
 Unregister bundle packages in framework.
boolean resolvePackages ()
 Resolve all the bundles' packages.
String getResolveFailReason ()
 Return a string with a reason for why resolve failed.
synchronized BundlePackages getProviderBundlePackages (String pkg)
 If bundle package has been resolved look for a BundlePackages that provides the requested package.
synchronized BundlePackages getDynamicProviderBundlePackages (String pkg)
 Check if we can dynamically import a package.
ArrayList getRequiredBundlePackages (String pkg)
 Get a list of all BundlePackages that exports package pkg that comes from bundles that we have required, in correct order.
List getRequiredBy ()
 Get a list of all BundlePackages that requirer the exported packages that comes from the bundle owning this object.
void checkReExport (ExportPkg ep)
 Check if package needs to be added as re-exported package.
ExportPkg getExport (String pkg)
 Get ExportPkg for exported package.
Iterator getExports ()
 Get an iterator over all exported packages.
void addExport (ExportPkg pkg)
 Adds an export package.
void removeExport (ExportPkg pkg)
 Removes an export package.
ImportPkg getImport (String pkg)
 Get a specific import.
Iterator getImports ()
 Get an iterator over all static imported packages.
Iterator getActiveImports ()
 Get an iterator over all active imported packages.
ClassLoader getClassLoader ()
 Get class loader for these packages.
void invalidateClassLoader ()
 Invalidate class loader for these packages.
boolean isRegistered ()
 Is these packages registered in the Packages object.
String attachFragment (BundlePackages fbpkgs)
 Attach a fragment bundle packages.
void detachFragment (BundleImpl fb)
 Attach a fragment bundle packages.

Member Function Documentation

boolean org.knopflerfish.framework.BundlePackages.resolvePackages (  )  [package]

Resolve all the bundles' packages.

Returns:
true if we resolved all packages. If we failed return false. Reason for fail can be fetched with getResolveFailReason().

Definition at line 227 of file BundlePackages.java.

References org.knopflerfish.framework.BundleImpl.framework, org.knopflerfish.framework.PermissionOps.missingMandatoryPackagePermissions(), org.knopflerfish.framework.Framework.packages, org.knopflerfish.framework.Framework.perm, org.knopflerfish.framework.ImportPkg.provider, and org.knopflerfish.framework.Packages.resolve().

Referenced by org.knopflerfish.framework.BundleImpl.getUpdatedState(), and org.knopflerfish.framework.SystemBundle.SystemBundle().

String org.knopflerfish.framework.BundlePackages.getResolveFailReason (  )  [package]

Return a string with a reason for why resolve failed.

Returns:
A error message string.

Definition at line 254 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.BundleImpl.loadClass(), and org.knopflerfish.framework.BundleImpl.start().

synchronized BundlePackages org.knopflerfish.framework.BundlePackages.getProviderBundlePackages ( String  pkg  )  [package]

If bundle package has been resolved look for a BundlePackages that provides the requested package.

Parameters:
pkg Package name
Returns:
BundlePackages exporting the pkg.

Definition at line 266 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.ServiceReferenceImpl.isAssignableTo(), and org.knopflerfish.framework.BundleClassLoader.searchFor().

synchronized BundlePackages org.knopflerfish.framework.BundlePackages.getDynamicProviderBundlePackages ( String  pkg  )  [package]

Check if we can dynamically import a package.

Re-check that we haven't gotten a provider. (Do we need to do that?)

Parameters:
pkg Package name
Returns:
Bundle exporting

Definition at line 285 of file BundlePackages.java.

References org.knopflerfish.framework.ExportPkg.bpkgs, org.knopflerfish.framework.BundleImpl.framework, org.knopflerfish.framework.PermissionOps.hasImportPackagePermission(), org.knopflerfish.framework.ImportPkg.name, org.knopflerfish.framework.Framework.packages, org.knopflerfish.framework.Framework.perm, org.knopflerfish.framework.ImportPkg.provider, and org.knopflerfish.framework.Packages.registerDynamicImport().

Referenced by org.knopflerfish.framework.BundleClassLoader.searchFor().

ArrayList org.knopflerfish.framework.BundlePackages.getRequiredBundlePackages ( String  pkg  )  [package]

Get a list of all BundlePackages that exports package pkg that comes from bundles that we have required, in correct order.

Correct order is a depth first search order.

Parameters:
pkg String with package name we are searching for.
Returns:
List of required BundlePackages or null we don't require any bundles.

Definition at line 321 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.BundleClassLoader.searchFor().

List org.knopflerfish.framework.BundlePackages.getRequiredBy (  )  [package]

Get a list of all BundlePackages that requirer the exported packages that comes from the bundle owning this object.

Returns:
List of required BundlePackages

Definition at line 344 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.ExportedPackageImpl.getImportingBundles(), and org.knopflerfish.framework.RequiredBundleImpl.getRequiringBundles().

void org.knopflerfish.framework.BundlePackages.checkReExport ( ExportPkg  ep  )  [package]

Check if package needs to be added as re-exported package.

Parameters:
ep ExportPkg to re-export.

Definition at line 357 of file BundlePackages.java.

References org.knopflerfish.framework.Pkg.addExporter(), org.knopflerfish.framework.ExportPkg.name, and org.knopflerfish.framework.ExportPkg.pkg.

ExportPkg org.knopflerfish.framework.BundlePackages.getExport ( String  pkg  )  [package]

Get ExportPkg for exported package.

Returns:
ExportPkg entry or null if package is not exported.

Definition at line 373 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.BundleClassLoader.searchFor().

Iterator org.knopflerfish.framework.BundlePackages.getExports (  )  [package]

Get an iterator over all exported packages.

Returns:
An Iterator over ExportPkg.

Definition at line 388 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.BundlePackages.attachFragment(), and org.knopflerfish.framework.BundleImpl.getExports().

void org.knopflerfish.framework.BundlePackages.addExport ( ExportPkg  pkg  )  [package]

Adds an export package.

Parameters:
pkg export to be included

Definition at line 396 of file BundlePackages.java.

void org.knopflerfish.framework.BundlePackages.removeExport ( ExportPkg  pkg  )  [package]

Removes an export package.

Parameters:
pkg export to be removed.

Definition at line 406 of file BundlePackages.java.

ImportPkg org.knopflerfish.framework.BundlePackages.getImport ( String  pkg  )  [package]

Get a specific import.

Returns:
an import

Definition at line 416 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.BundlePackages.attachFragment().

Iterator org.knopflerfish.framework.BundlePackages.getImports (  )  [package]

Get an iterator over all static imported packages.

Returns:
An Iterator over ImportPkg.

Definition at line 431 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.BundlePackages.attachFragment(), org.knopflerfish.framework.BundleImpl.getImports(), and org.knopflerfish.framework.PermissionOps.missingMandatoryPackagePermissions().

Iterator org.knopflerfish.framework.BundlePackages.getActiveImports (  )  [package]

Get an iterator over all active imported packages.

Returns:
An Iterator over ImportPkg.

Definition at line 441 of file BundlePackages.java.

ClassLoader org.knopflerfish.framework.BundlePackages.getClassLoader (  )  [package]

Get class loader for these packages.

Returns:
ClassLoader handling these packages.

Definition at line 451 of file BundlePackages.java.

References org.knopflerfish.framework.BundleImpl.getClassLoader().

Referenced by org.knopflerfish.framework.BundleClassLoader.searchFor().

boolean org.knopflerfish.framework.BundlePackages.isRegistered (  )  [package]

Is these packages registered in the Packages object.

Returns:
True if packages are registered otherwise false.

Definition at line 473 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.RequiredBundleImpl.getBundle(), and org.knopflerfish.framework.RequiredBundleImpl.getRequiringBundles().

String org.knopflerfish.framework.BundlePackages.attachFragment ( BundlePackages  fbpkgs  )  [package]

Attach a fragment bundle packages.

Returns:
null if okay, otherwise a String with fail reason.

Definition at line 483 of file BundlePackages.java.

References org.knopflerfish.framework.BundlePackages.bundle, org.knopflerfish.framework.BundleImpl.framework, org.knopflerfish.framework.BundlePackages.getExports(), org.knopflerfish.framework.BundlePackages.getImport(), org.knopflerfish.framework.BundlePackages.getImports(), org.knopflerfish.framework.BundleImpl.id, org.knopflerfish.framework.ImportPkg.name, org.knopflerfish.framework.ImportPkg.overlap(), org.knopflerfish.framework.Framework.packages, org.knopflerfish.framework.Packages.registerPackages(), org.knopflerfish.framework.BundlePackages.require, and org.knopflerfish.framework.BundleImpl.state.

Referenced by org.knopflerfish.framework.BundleImpl.attachFragment().

String org.knopflerfish.framework.BundlePackages.toString (  ) 

Return a string representing this objet.

Returns:
A message string.

Definition at line 612 of file BundlePackages.java.

Referenced by org.knopflerfish.framework.ExportPkg.toString().


The documentation for this class was generated from the following file:
Generated on Mon Jan 11 21:19:19 2010 for OpenMobileIS by  doxygen 1.5.4