Package org.apache.sling.feature.scanner.spi

# Interface ExtensionScanner

@ConsumerType public interface ExtensionScanner
The extension scanner scans an extension.

## Method Summary

Modifier and Type
Method
Description
`String`
`getId()`
A unique (short) ID.
`String`
`getName()`
A human readable name to identify the scanner.
`ContainerDescriptor`
`scan(org.apache.sling.feature.Feature feature, org.apache.sling.feature.Extension extension, org.apache.sling.feature.builder.ArtifactProvider provider)`
Try to scan the extension and return a descriptor

## Method Details

### getId

String getId()
A unique (short) ID.

Returns:
  the ID.

### getName

String getName()
A human readable name to identify the scanner.

Returns:
  the name.

### scan

ContainerDescriptor scan(org.apache.sling.feature.Feature feature, org.apache.sling.feature.Extension extension, org.apache.sling.feature.builder.ArtifactProvider provider) throws IOException
Try to scan the extension and return a descriptor

Parameters:
  `feature` - The feature the extension belongs to
  `extension` - The extension
  `provider` - Artifact provider
Returns:
  The descriptor or `null` if the scanner does not know the extension
Throws:
  `IOException` - If an error occurs while scanning the extension or the extension is invalid