Package org.apache.felix.framework

# Class BundleRevisionImpl

java.lang.Object
org.apache.felix.framework.BundleRevisionImpl

All Implemented Interfaces:
  `BundleReference`, `BundleRevision`, `Resource`

public class BundleRevisionImpl extends Object implements BundleRevision, Resource

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`EAGER_ACTIVATION`
`static final int`
`LAZY_ACTIVATION`

### Fields inherited from interface org.osgi.framework.wiring.BundleRevision

`BUNDLE_NAMESPACE, HOST_NAMESPACE, PACKAGE_NAMESPACE, TYPE_FRAGMENT`

## Constructor Summary

Constructors
Constructor
Description
`BundleRevisionImpl(Bundle bundle, String id)`
This constructor is used by the extension manager, since it needs a constructor that does not throw an exception.

## Method Summary

Modifier and Type
Method
Description
`Bundle`
`getBundle()`
Returns the `Bundle` object associated with this `BundleReference`.
`List<Capability>`
`getCapabilities(String namespace)`
Returns the capabilities declared by this resource.
`Content`
`getContent()`
`List<BundleCapability>`
`getDeclaredCapabilities(String namespace)`
Returns the capabilities declared by this bundle revision.
`List<NativeLibrary>`
`getDeclaredNativeLibraries()`
`List<BundleRequirement>`
`getDeclaredRequirements(String namespace)`
Returns the requirements declared by this bundle revision.
`URL`
`getEntry(String name)`
`Map`
`getHeaders()`
`String`
`getId()`
`InputStream`
`getInputStream(int index, String urlPath)`
`URL`
`getLocalURL(int index, String urlPath)`
`String`
`getManifestVersion()`
`ProtectionDomain`
`getProtectionDomain()`
`List<Requirement>`
`getRequirements(String namespace)`
Returns the requirements declared by this bundle resource.
`String`
`getSymbolicName()`
Returns the symbolic name for this bundle revision.
`int`
`getTypes()`
Returns the special types of this bundle revision.
`Version`
`getVersion()`
Returns the version for this bundle revision.
`BundleWiring`
`getWiring()`
Returns the bundle wiring which is using this bundle revision.
`boolean`
`hasInputStream(int index, String urlPath)`
`boolean`
`isExtension()`
`void`
`resolve(BundleWiringImpl wiring)`
`void`
`setProtectionDomain(ProtectionDomain pd)`
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.osgi.resource.Resource

`equals, hashCode`

## Field Details

### EAGER_ACTIVATION

public static final int EAGER_ACTIVATION

See Also:
  - Constant Field Values

### LAZY_ACTIVATION

public static final int LAZY_ACTIVATION

See Also:
  - Constant Field Values

## Constructor Details

### BundleRevisionImpl

public BundleRevisionImpl(Bundle bundle, String id)
This constructor is used by the extension manager, since it needs a constructor that does not throw an exception.

Parameters:
  `bundle` -
  `id` -
  `logger` -
  `bootPkgs` -
  `bootPkgWildcards` -
Throws:
  `BundleException`

## Method Details

### getSymbolicName

public String getSymbolicName()
Description copied from interface: `BundleRevision`
Returns the symbolic name for this bundle revision.

Specified by:
  `getSymbolicName` in interface `BundleRevision`
Returns:
  The symbolic name for this bundle revision.
See Also:
  - `Bundle.getSymbolicName()`

### getVersion

public Version getVersion()
Description copied from interface: `BundleRevision`
Returns the version for this bundle revision.

Specified by:
  `getVersion` in interface `BundleRevision`
Returns:
  The version for this bundle revision, or `Version.emptyVersion` if this bundle revision has no version information.
See Also:
  - `Bundle.getVersion()`

### getCapabilities

public List<Capability> getCapabilities(String namespace)
Description copied from interface: `BundleRevision`
Returns the capabilities declared by this resource.

This method returns the same value as `BundleRevision.getDeclaredCapabilities(String)`.

Specified by:
  `getCapabilities` in interface `BundleRevision`
Specified by:
  `getCapabilities` in interface `Resource`
Parameters:
  `namespace` - The namespace of the declared capabilities to return or `null` to return the declared capabilities from all namespaces.
Returns:
  An unmodifiable list containing the declared `Capability`s from the specified namespace. The returned list will be empty if this resource declares no capabilities in the specified namespace.

### getDeclaredCapabilities

public List<BundleCapability> getDeclaredCapabilities(String namespace)
Description copied from interface: `BundleRevision`
Returns the capabilities declared by this bundle revision.

Specified by:
  `getDeclaredCapabilities` in interface `BundleRevision`
Parameters:
  `namespace` - The namespace of the declared capabilities to return or `null` to return the declared capabilities from all namespaces.
Returns:
  An unmodifiable list containing the declared `BundleCapability`s from the specified namespace. The returned list will be empty if this bundle revision declares no capabilities in the specified namespace. The list contains the declared capabilities in the order they are specified in the manifest.

### getRequirements

public List<Requirement> getRequirements(String namespace)
Description copied from interface: `BundleRevision`
Returns the requirements declared by this bundle resource.

This method returns the same value as `BundleRevision.getDeclaredRequirements(String)`.

Specified by:
  `getRequirements` in interface `BundleRevision`
Specified by:
  `getRequirements` in interface `Resource`
Parameters:
  `namespace` - The namespace of the declared requirements to return or `null` to return the declared requirements from all namespaces.
Returns:
  An unmodifiable list containing the declared `Requirement` s from the specified namespace. The returned list will be empty if this resource declares no requirements in the specified namespace.

### getDeclaredRequirements

public List<BundleRequirement> getDeclaredRequirements(String namespace)
Description copied from interface: `BundleRevision`
Returns the requirements declared by this bundle revision.

Specified by:
  `getDeclaredRequirements` in interface `BundleRevision`
Parameters:
  `namespace` - The namespace of the declared requirements to return or `null` to return the declared requirements from all namespaces.
Returns:
  An unmodifiable list containing the declared `BundleRequirement`s from the specified namespace. The returned list will be empty if this bundle revision declares no requirements in the specified namespace. The list contains the declared requirements in the order they are specified in the manifest.

### getTypes

public int getTypes()
Description copied from interface: `BundleRevision`
Returns the special types of this bundle revision. The bundle revision type values are:

- `BundleRevision.TYPE_FRAGMENT`

A bundle revision may be more than one type at a time. A type code is used to identify the bundle revision type for future extendability.

If this bundle revision is not one or more of the defined types then 0 is returned.

Specified by:
  `getTypes` in interface `BundleRevision`
Returns:
  The special types of this bundle revision. The type values are ORed together.

### getWiring

public BundleWiring getWiring()
Description copied from interface: `BundleRevision`
Returns the bundle wiring which is using this bundle revision.

Specified by:
  `getWiring` in interface `BundleRevision`
Returns:
  The bundle wiring which is using this bundle revision or `null` if no bundle wiring is using this bundle revision.
See Also:
  - `BundleWiring.getRevision()`

### getBundle

public Bundle getBundle()
Description copied from interface: `BundleReference`
Returns the `Bundle` object associated with this `BundleReference`.

Specified by:
  `getBundle` in interface `BundleReference`
Returns:
  The `Bundle` object associated with this `BundleReference`.

### getHeaders

public Map getHeaders()

### isExtension

public boolean isExtension()

### getManifestVersion

public String getManifestVersion()

### getDeclaredNativeLibraries

public List<NativeLibrary> getDeclaredNativeLibraries()

### getId

public String getId()

### resolve

public void resolve(BundleWiringImpl wiring)

### setProtectionDomain

public void setProtectionDomain(ProtectionDomain pd)

### getProtectionDomain

public ProtectionDomain getProtectionDomain()

### getContent

public Content getContent()

### getEntry

public URL getEntry(String name)

### hasInputStream

public boolean hasInputStream(int index, String urlPath)

### getInputStream

public InputStream getInputStream(int index, String urlPath) throws IOException

Throws:
  `IOException`

### getLocalURL

public URL getLocalURL(int index, String urlPath)

### toString

public String toString()

Overrides:
  `toString` in class `Object`