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
`static int` `EAGER_ACTIVATION`
`static int` `LAZY_ACTIVATION`

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

`BUNDLE_NAMESPACE, HOST_NAMESPACE, PACKAGE_NAMESPACE, TYPE_FRAGMENT`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`org.apache.felix.framework.BundleImpl` `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<String,Object>` `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 Detail

#### 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 Detail

#### BundleRevisionImpl

    public BundleRevisionImpl(org.apache.felix.framework.BundleImpl 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` -
Throws:
  `BundleException`

### Method Detail

#### 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 org.apache.felix.framework.BundleImpl 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<String,Object> 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`