# Class TargetFeature

java.lang.Object
org.eclipse.pde.core.target.TargetFeature

public class TargetFeature extends Object
Describes a single feature in a target definition.

Since:
  3.8

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`TargetFeature(File featureLocation)`
Constructs a target feature for a feature on the local filesystem.
`protected`
`TargetFeature(IModel featureModel)`
Constructs a target feature for a feature from an `IFeatureModel`.

## Method Summary

Modifier and Type
Method
Description
`NameVersionDescriptor[]`
`getDependentFeatures()`
Returns a list of name version descriptors that describe the set of features that this feature depends on as imports or included features.
`final IModel`
`getFeatureModel()`
`String`
`getId()`
Returns the id of this feature or `null` if no id is set.
`String`
`getLocation()`
Returns the string path to the directory containing the feature.xml or `null` if no install location is known.
`NameVersionDescriptor[]`
`getPlugins()`
Returns a list of name version descriptor that describes the set of plug-ins that this feature includes.
`String`
`getVersion()`
Returns the version of this feature or `null` if no version is set.
`String`
`toString()`

### Methods inherited from class Object

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

## Constructor Details

### TargetFeature

public TargetFeature(File featureLocation) throws CoreException
Constructs a target feature for a feature on the local filesystem. The file may point at the feature.xml or a folder containing the feature.xml. The feature.xml will be read to collect the information about the feature.

Parameters:
  `featureLocation` - the location of the feature (feature.xml or directory containing it) never `null`
Throws:
  `CoreException` - if there is a problem opening the feature.xml or featureLocation is `null`

### TargetFeature

protected TargetFeature(IModel featureModel) throws NullPointerException
Constructs a target feature for a feature from an `IFeatureModel`.

Parameters:
  `featureModel` - the model to use to delegate the calls, must not be `null`
Throws:
  `NullPointerException` - if the model is null
Since:
  3.15

## Method Details

### getId

public String getId()
Returns the id of this feature or `null` if no id is set.

Returns:
  id or `null`

### getVersion

public String getVersion()
Returns the version of this feature or `null` if no version is set.

Returns:
  version or `null`

### getLocation

public String getLocation()
Returns the string path to the directory containing the feature.xml or `null` if no install location is known.

Returns:
  install location path or `null`

### getPlugins

public NameVersionDescriptor[] getPlugins()
Returns a list of name version descriptor that describes the set of plug-ins that this feature includes.

Returns:
  a list of name version descriptors, possibly empty

### getDependentFeatures

public NameVersionDescriptor[] getDependentFeatures()
Returns a list of name version descriptors that describe the set of features that this feature depends on as imports or included features.

Returns:
  a list of name version descriptors, possibly empty

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getFeatureModel

public final IModel getFeatureModel()

Returns:
  the internal feature model this `TargetFeature` is backed with
Since:
  3.15