# Interface ImportPackageSpecification

All Superinterfaces:
  `Cloneable, VersionConstraint`

public interface ImportPackageSpecification extends VersionConstraint
A representation of one package import constraint as seen in a bundle manifest and managed by a state and resolver.

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.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`RESOLUTION_DYNAMIC`
The dynamic resolution directive value.
`static final String`
`RESOLUTION_OPTIONAL`
The optional resolution directive value.
`static final String`
`RESOLUTION_STATIC`
The static resolution directive value.

## Method Summary

Modifier and Type
Method
Description
`Map<String,Object>`
`getAttributes()`
Returns the arbitrary attributes which this import package may be resolved to.
`String`
`getBundleSymbolicName()`
Returns the symbolic name of the bundle this import package must be resolved to.
`VersionRange`
`getBundleVersionRange()`
Returns the version range which this import package may be resolved to.
`Object`
`getDirective(String key)`
Returns the specified directive that control this import package.
`Map<String,Object>`
`getDirectives()`
Returns the directives that control this import package.

### Methods inherited from interface VersionConstraint

`getBundle, getName, getRequirement, getSupplier, getUserObject, getVersionRange, isResolved, isSatisfiedBy, setUserObject`

## Field Details

### RESOLUTION_STATIC

static final String RESOLUTION_STATIC
The static resolution directive value.

See Also:
  - Constant Field Values

### RESOLUTION_OPTIONAL

static final String RESOLUTION_OPTIONAL
The optional resolution directive value.

See Also:
  - Constant Field Values

### RESOLUTION_DYNAMIC

static final String RESOLUTION_DYNAMIC
The dynamic resolution directive value.

See Also:
  - Constant Field Values

## Method Details

### getBundleSymbolicName

String getBundleSymbolicName()
Returns the symbolic name of the bundle this import package must be resolved to.

Returns:
  the symbolic name of the bundle this import pacakge must be resolved to. A value of `null` indicates any symbolic name.

### getBundleVersionRange

VersionRange getBundleVersionRange()
Returns the version range which this import package may be resolved to.

Returns:
  the version range which this import package may be resolved to.

### getAttributes

Map<String,Object> getAttributes()
Returns the arbitrary attributes which this import package may be resolved to.

Returns:
  the arbitrary attributes which this import package may be resolved to.

### getDirectives

Map<String,Object> getDirectives()
Returns the directives that control this import package.

Returns:
  the directives that control this import package.

### getDirective

Object getDirective(String key)
Returns the specified directive that control this import package.

Returns:
  the specified directive that control this import package.