Package org.eclipse.osgi.service.resolver

## Interface BaseDescription

All Known Subinterfaces:
  `BundleDescription`, `ExportPackageDescription`, `GenericDescription`, `NativeCodeDescription`

    public interface BaseDescription

This class represents a base description object for a state. All description objects in a state have a name and a version.

This interface is not intended to be implemented by clients. The `StateObjectFactory` should be used to construct instances.

Since:
  3.1
Restriction:
  This interface is not intended to be implemented by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`BundleCapability` `getCapability()` Returns the capability represented by this description.
`Map<String,​Object>` `getDeclaredAttributes()` Returns the attributes declared with the description.
`Map<String,​String>` `getDeclaredDirectives()` Returns the directives declared with the description.
`String` `getName()` Returns the name.
`BundleDescription` `getSupplier()` Returns the bundle which supplies this base description
`Object` `getUserObject()` Returns the user object associated to this description, or `null` if none exists.
`Version` `getVersion()` Returns the version.
`void` `setUserObject​(Object userObject)` Associates a user-provided object to this description, or removes an existing association, if `null` is provided.

### Method Detail

#### getName

    String getName()

Returns the name.

Returns:
  the name

#### getVersion

    Version getVersion()

Returns the version.

Returns:
  the version

#### getSupplier

    BundleDescription getSupplier()

Returns the bundle which supplies this base description

Returns:
  the bundle which supplies this base description
Since:
  3.2

#### getDeclaredDirectives

    Map<String,​String> getDeclaredDirectives()

Returns the directives declared with the description. This will return all known directives for the type of description. The set of directives differs for each description type.

Returns:
  the known directives declared with the description
Since:
  3.7

#### getDeclaredAttributes

    Map<String,​Object> getDeclaredAttributes()

Returns the attributes declared with the description. This will return all known attributes for the type of description. The set of attributes differs for each description type.

Returns:
  the attributes declared with the description
Since:
  3.7

#### getCapability

    BundleCapability getCapability()

Returns the capability represented by this description. Some descriptions types may not be able to represent a capability. In such cases `null` is returned.

Returns:
  the capability represented by this base description
Since:
  3.7

#### getUserObject

    Object getUserObject()

Returns the user object associated to this description, or `null` if none exists.

Returns:
  the user object associated to this description, or `null`
Since:
  3.8

#### setUserObject

    void setUserObject​(Object userObject)

Associates a user-provided object to this description, or removes an existing association, if `null` is provided. The provided object is not interpreted in any ways by this description.

Parameters:
  `userObject` - an arbitrary object provided by the user, or `null`
Since:
  3.8