Class Scanner

java.lang.Object
org.apache.sling.feature.scanner.Scanner

public class Scanner
extends Object
The scanner is a service that scans items and provides descriptions for these. The following items can be scanned individually The scanner uses an internal cache for the scanned results, subsequent scan calls with the same input will be directly served from the cache. The cache is an in memory cache and its lifetime is bound to the lifetime of the used scanner instance.
  • Constructor Details

    • Scanner

      public Scanner​(org.apache.sling.feature.builder.ArtifactProvider artifactProvider, List<ExtensionScanner> extensionScanners, List<FrameworkScanner> frameworkScanners) throws IOException
      Create a new scanner
      Parameters:
      artifactProvider - The artifact provider
      extensionScanners - A list of extension scanners
      frameworkScanners - A list of framework scanners
      Throws:
      IOException - If something goes wrong
    • Scanner

      public Scanner​(org.apache.sling.feature.builder.ArtifactProvider artifactProvider) throws IOException
      Create a new scanner and use the service loader to find the scanners
      Parameters:
      artifactProvider - The artifact provider
      Throws:
      IOException - If something goes wrong
  • Method Details

    • scanBundle

      public BundleDescriptor scanBundle​(org.apache.sling.feature.Artifact bundle) throws IOException
      Scan a bundle
      Parameters:
      bundle - The bundle artifact
      Returns:
      The bundle descriptor
      Throws:
      IOException - If something goes wrong or the provided artifact is not a bundle.
    • scan

      @Deprecated public BundleDescriptor scan​(org.apache.sling.feature.Artifact bundle, int startLevel) throws IOException
      Deprecated.
      Scan a bundle
      Parameters:
      bundle - The bundle artifact
      startLevel - The start level of the bundle
      Returns:
      The bundle descriptor
      Throws:
      IOException - If something goes wrong or the provided artifact is not a bundle.
    • scan

      public FeatureDescriptor scan​(org.apache.sling.feature.Feature feature) throws IOException
      Scan a feature
      Parameters:
      feature - The feature
      Returns:
      The feature descriptor
      Throws:
      IOException - If something goes wrong or a scanner is missing
    • scan

      public BundleDescriptor scan​(org.apache.sling.feature.ArtifactId framework, Map<String,​String> props) throws IOException
      Scan a framework
      Parameters:
      framework - The framework
      props - framework properties to launch the framework
      Returns:
      The framework descriptor
      Throws:
      IOException - If something goes wrong or a scanner is missing