Class 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 Detail

      • 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 Detail

      • 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