Class ContentLoader


  • public final class ContentLoader
    extends Object
    Imports JSON data and binary data into Sling resource hierarchy. After all import operations from json or binaries ResourceResolver.commit() is called (when autocommit mode is active).
    • Constructor Summary

      Constructors 
      Constructor Description
      ContentLoader​(@NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver)  
      ContentLoader​(@NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver, @Nullable org.osgi.framework.BundleContext bundleContext)  
      ContentLoader​(@NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver, @Nullable org.osgi.framework.BundleContext bundleContext, boolean autoCommit)  
      ContentLoader​(@NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver, @Nullable org.osgi.framework.BundleContext bundleContext, boolean autoCommit, @Nullable ResourceResolverType resourceResolverType)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull InputStream inputStream, @NotNull String path)
      Import binary file as nt:file binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull InputStream inputStream, @NotNull String path, @NotNull String mimeType)
      Import binary file as nt:file binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull InputStream inputStream, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String name)
      Import binary file as nt:file binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull InputStream inputStream, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String name, @NotNull String mimeType)
      Import binary file as nt:file binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull String classpathResourceOrFile, @NotNull String path)
      Import binary file as nt:file binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull String classpathResourceOrFile, @NotNull String path, @NotNull String mimeType)
      Import binary file as nt:file binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull InputStream inputStream, @NotNull String path)
      Import binary file as nt:resource binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull InputStream inputStream, @NotNull String path, @NotNull String mimeType)
      Import binary file as nt:resource binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull InputStream inputStream, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String name)
      Import binary file as nt:resource binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull InputStream inputStream, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String name, @NotNull String mimeType)
      Import binary file as nt:resource binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull String classpathResourceOrFile, @NotNull String path)
      Import binary file as nt:resource binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull String classpathResourceOrFile, @NotNull String path, @NotNull String mimeType)
      Import binary file as nt:resource binary node into repository.
      @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull InputStream inputStream, @NotNull String destPath)
      Import content of FileVault XML file into repository.
      @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull InputStream inputStream, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Import content of FileVault XML file into repository.
      @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull String classpathResourceOrFile, @NotNull String destPath)
      Import content of FileVault XML file into repository.
      @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull String classpathResourceOrFile, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Import content of FileVault XML file into repository.
      void folderFileVaultXml​(@NotNull File mountFolder, @NotNull String destPath)
      Mount a folder containing content in FileVault XML format in repository.
      void folderFileVaultXml​(@NotNull File mountFolder, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Mount a folder containing content in FileVault XML format in repository.
      void folderFileVaultXml​(@NotNull String mountFolderPath, @NotNull String destPath)
      Mount a folder (file system) containing content in FileVault XML format in repository.
      void folderFileVaultXml​(@NotNull String mountFolderPath, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Mount a folder (file system) containing content in FileVault XML format in repository.
      void folderJson​(@NotNull File mountFolder, @NotNull String destPath)
      Mount a folder containing content in JSON (Sling-Inital-Content) format in repository.
      void folderJson​(@NotNull File mountFolder, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Mount a folder containing content in JSON (Sling-Inital-Content) format in repository.
      void folderJson​(@NotNull String mountFolderPath, @NotNull String destPath)
      Mount a folder (file system) containing content in JSON (Sling-Inital-Content) format in repository.
      void folderJson​(@NotNull String mountFolderPath, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Mount a folder (file system) containing content in JSON (Sling-Inital-Content) format in repository.
      @NotNull org.apache.sling.api.resource.Resource json​(@NotNull InputStream inputStream, @NotNull String destPath)
      Import content of JSON file into repository.
      @NotNull org.apache.sling.api.resource.Resource json​(@NotNull InputStream inputStream, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Import content of JSON file into repository.
      @NotNull org.apache.sling.api.resource.Resource json​(@NotNull String classpathResourceOrFile, @NotNull String destPath)
      Import content of JSON file into repository.
      @NotNull org.apache.sling.api.resource.Resource json​(@NotNull String classpathResourceOrFile, @NotNull org.apache.sling.api.resource.Resource parentResource, @NotNull String childName)
      Import content of JSON file into repository.
    • Constructor Detail

      • ContentLoader

        public ContentLoader​(@NotNull
                             @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver)
        Parameters:
        resourceResolver - Resource resolver
      • ContentLoader

        public ContentLoader​(@NotNull
                             @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver,
                             @Nullable
                             @Nullable org.osgi.framework.BundleContext bundleContext)
        Parameters:
        resourceResolver - Resource resolver
        bundleContext - Bundle context
      • ContentLoader

        public ContentLoader​(@NotNull
                             @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver,
                             @Nullable
                             @Nullable org.osgi.framework.BundleContext bundleContext,
                             boolean autoCommit)
        Parameters:
        resourceResolver - Resource resolver
        bundleContext - Bundle context
        autoCommit - Automatically commit changes after loading content (default: true)
      • ContentLoader

        public ContentLoader​(@NotNull
                             @NotNull org.apache.sling.api.resource.ResourceResolver resourceResolver,
                             @Nullable
                             @Nullable org.osgi.framework.BundleContext bundleContext,
                             boolean autoCommit,
                             @Nullable
                             @Nullable ResourceResolverType resourceResolverType)
        Parameters:
        resourceResolver - Resource resolver
        bundleContext - Bundle context
        autoCommit - Automatically commit changes after loading content (default: true)
        resourceResolverType - Resource resolver type.
    • Method Detail

      • json

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource json​(@NotNull
                                                                    @NotNull String classpathResourceOrFile,
                                                                    @NotNull
                                                                    @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                    @NotNull
                                                                    @NotNull String childName)
        Import content of JSON file into repository.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path for JSON content
        parentResource - Parent resource
        childName - Name of child resource to create with JSON content
        Returns:
        Resource
      • json

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource json​(@NotNull
                                                                    @NotNull String classpathResourceOrFile,
                                                                    @NotNull
                                                                    @NotNull String destPath)
        Import content of JSON file into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path for JSON content
        destPath - Path to import the JSON content to
        Returns:
        Resource
      • json

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource json​(@NotNull
                                                                    @NotNull InputStream inputStream,
                                                                    @NotNull
                                                                    @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                    @NotNull
                                                                    @NotNull String childName)
        Import content of JSON file into repository.
        Parameters:
        inputStream - Input stream with JSON content
        parentResource - Parent resource
        childName - Name of child resource to create with JSON content
        Returns:
        Resource
      • json

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource json​(@NotNull
                                                                    @NotNull InputStream inputStream,
                                                                    @NotNull
                                                                    @NotNull String destPath)
        Import content of JSON file into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        inputStream - Input stream with JSON content
        destPath - Path to import the JSON content to
        Returns:
        Resource
      • fileVaultXml

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull
                                                                            @NotNull String classpathResourceOrFile,
                                                                            @NotNull
                                                                            @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                            @NotNull
                                                                            @NotNull String childName)
        Import content of FileVault XML file into repository.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path to single FileVault XML file (usually .content.xml)
        parentResource - Parent resource
        childName - Name of child resource to create with Filevault content
        Returns:
        Resource
      • fileVaultXml

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull
                                                                            @NotNull String classpathResourceOrFile,
                                                                            @NotNull
                                                                            @NotNull String destPath)
        Import content of FileVault XML file into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path to single FileVault XML file (usually .content.xml)
        destPath - Path to import the Filevault content to
        Returns:
        Resource
      • fileVaultXml

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull
                                                                            @NotNull InputStream inputStream,
                                                                            @NotNull
                                                                            @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                            @NotNull
                                                                            @NotNull String childName)
        Import content of FileVault XML file into repository.
        Parameters:
        inputStream - Input stream with Filevault content
        parentResource - Parent resource
        childName - Name of child resource to create with Filevault content
        Returns:
        Resource
      • fileVaultXml

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource fileVaultXml​(@NotNull
                                                                            @NotNull InputStream inputStream,
                                                                            @NotNull
                                                                            @NotNull String destPath)
        Import content of FileVault XML file into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        inputStream - Input stream with Filevault content
        destPath - Path to import the Filevault content to
        Returns:
        Resource
      • binaryFile

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull
                                                                          @NotNull String classpathResourceOrFile,
                                                                          @NotNull
                                                                          @NotNull String path)
        Import binary file as nt:file binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing. Mime type is auto-detected from either classpathResourceOrFile or path.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path for binary file.
        path - Path to mount binary data to (parent nodes created automatically)
        Returns:
        Resource with binary data
      • binaryFile

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull
                                                                          @NotNull String classpathResourceOrFile,
                                                                          @NotNull
                                                                          @NotNull String path,
                                                                          @NotNull
                                                                          @NotNull String mimeType)
        Import binary file as nt:file binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path for binary file.
        path - Path to mount binary data to (parent nodes created automatically)
        mimeType - Mime type of binary data
        Returns:
        Resource with binary data
      • binaryFile

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull
                                                                          @NotNull InputStream inputStream,
                                                                          @NotNull
                                                                          @NotNull String path)
        Import binary file as nt:file binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing. Mime type is auto-detected from resource name.
        Parameters:
        inputStream - Input stream for binary data
        path - Path to mount binary data to (parent nodes created automatically)
        Returns:
        Resource with binary data
      • binaryFile

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull
                                                                          @NotNull InputStream inputStream,
                                                                          @NotNull
                                                                          @NotNull String path,
                                                                          @NotNull
                                                                          @NotNull String mimeType)
        Import binary file as nt:file binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        inputStream - Input stream for binary data
        path - Path to mount binary data to (parent nodes created automatically)
        mimeType - Mime type of binary data
        Returns:
        Resource with binary data
      • binaryFile

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull
                                                                          @NotNull InputStream inputStream,
                                                                          @NotNull
                                                                          @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                          @NotNull
                                                                          @NotNull String name)
        Import binary file as nt:file binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing. Mime type is auto-detected from resource name.
        Parameters:
        inputStream - Input stream for binary data
        parentResource - Parent resource
        name - Resource name for nt:file
        Returns:
        Resource with binary data
      • binaryFile

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryFile​(@NotNull
                                                                          @NotNull InputStream inputStream,
                                                                          @NotNull
                                                                          @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                          @NotNull
                                                                          @NotNull String name,
                                                                          @NotNull
                                                                          @NotNull String mimeType)
        Import binary file as nt:file binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        inputStream - Input stream for binary data
        parentResource - Parent resource
        name - Resource name for nt:file
        mimeType - Mime type of binary data
        Returns:
        Resource with binary data
      • binaryResource

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull
                                                                              @NotNull String classpathResourceOrFile,
                                                                              @NotNull
                                                                              @NotNull String path)
        Import binary file as nt:resource binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing. Mime type is auto-detected from classpathResourceOrFile or path.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path for binary file.
        path - Path to mount binary data to (parent nodes created automatically)
        Returns:
        Resource with binary data
      • binaryResource

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull
                                                                              @NotNull String classpathResourceOrFile,
                                                                              @NotNull
                                                                              @NotNull String path,
                                                                              @NotNull
                                                                              @NotNull String mimeType)
        Import binary file as nt:resource binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        classpathResourceOrFile - Classpath resource URL or file path for binary file.
        path - Path to mount binary data to (parent nodes created automatically)
        mimeType - Mime type of binary data
        Returns:
        Resource with binary data
      • binaryResource

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull
                                                                              @NotNull InputStream inputStream,
                                                                              @NotNull
                                                                              @NotNull String path)
        Import binary file as nt:resource binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing. Mime type is auto-detected from resource name.
        Parameters:
        inputStream - Input stream for binary data
        path - Path to mount binary data to (parent nodes created automatically)
        Returns:
        Resource with binary data
      • binaryResource

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull
                                                                              @NotNull InputStream inputStream,
                                                                              @NotNull
                                                                              @NotNull String path,
                                                                              @NotNull
                                                                              @NotNull String mimeType)
        Import binary file as nt:resource binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        inputStream - Input stream for binary data
        path - Path to mount binary data to (parent nodes created automatically)
        mimeType - Mime type of binary data
        Returns:
        Resource with binary data
      • binaryResource

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull
                                                                              @NotNull InputStream inputStream,
                                                                              @NotNull
                                                                              @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                              @NotNull
                                                                              @NotNull String name)
        Import binary file as nt:resource binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing. Mime type is auto-detected from resource name.
        Parameters:
        inputStream - Input stream for binary data
        parentResource - Parent resource
        name - Resource name for nt:resource
        Returns:
        Resource with binary data
      • binaryResource

        @NotNull
        public @NotNull org.apache.sling.api.resource.Resource binaryResource​(@NotNull
                                                                              @NotNull InputStream inputStream,
                                                                              @NotNull
                                                                              @NotNull org.apache.sling.api.resource.Resource parentResource,
                                                                              @NotNull
                                                                              @NotNull String name,
                                                                              @NotNull
                                                                              @NotNull String mimeType)
        Import binary file as nt:resource binary node into repository. Auto-creates parent hierarchies as nt:unstrucured nodes if missing.
        Parameters:
        inputStream - Input stream for binary data
        parentResource - Parent resource
        name - Resource name for nt:resource
        mimeType - Mime type of binary data
        Returns:
        Resource with binary data
      • folderJson

        public void folderJson​(@NotNull
                               @NotNull String mountFolderPath,
                               @NotNull
                               @NotNull org.apache.sling.api.resource.Resource parentResource,
                               @NotNull
                               @NotNull String childName)
        Mount a folder (file system) containing content in JSON (Sling-Inital-Content) format in repository.
        Parameters:
        mountFolderPath - Root folder path to mount
        parentResource - Parent resource
        childName - Name of child resource to mount folder into
      • folderJson

        public void folderJson​(@NotNull
                               @NotNull String mountFolderPath,
                               @NotNull
                               @NotNull String destPath)
        Mount a folder (file system) containing content in JSON (Sling-Inital-Content) format in repository.
        Parameters:
        mountFolderPath - Root folder path to mount
        destPath - Path to mount folder into
      • folderJson

        public void folderJson​(@NotNull
                               @NotNull File mountFolder,
                               @NotNull
                               @NotNull org.apache.sling.api.resource.Resource parentResource,
                               @NotNull
                               @NotNull String childName)
        Mount a folder containing content in JSON (Sling-Inital-Content) format in repository.
        Parameters:
        mountFolder - Root folder to mount
        parentResource - Parent resource
        childName - Name of child resource to mount folder into
      • folderJson

        public void folderJson​(@NotNull
                               @NotNull File mountFolder,
                               @NotNull
                               @NotNull String destPath)
        Mount a folder containing content in JSON (Sling-Inital-Content) format in repository.
        Parameters:
        mountFolder - Root folder to mount
        destPath - Path to mount folder into
      • folderFileVaultXml

        public void folderFileVaultXml​(@NotNull
                                       @NotNull String mountFolderPath,
                                       @NotNull
                                       @NotNull org.apache.sling.api.resource.Resource parentResource,
                                       @NotNull
                                       @NotNull String childName)
        Mount a folder (file system) containing content in FileVault XML format in repository.
        Parameters:
        mountFolderPath - Root folder path to mount. Path needs to point to the root folder of the content package structure.
        parentResource - Parent resource
        childName - Name of child resource of subtree path that should be mounted from FileVault XML structure
      • folderFileVaultXml

        public void folderFileVaultXml​(@NotNull
                                       @NotNull String mountFolderPath,
                                       @NotNull
                                       @NotNull String destPath)
        Mount a folder (file system) containing content in FileVault XML format in repository.
        Parameters:
        mountFolderPath - Root folder path to mount. Path needs to point to the root folder of the content package structure.
        destPath - Subtree path that should be mounted from FileVault XML structure
      • folderFileVaultXml

        public void folderFileVaultXml​(@NotNull
                                       @NotNull File mountFolder,
                                       @NotNull
                                       @NotNull org.apache.sling.api.resource.Resource parentResource,
                                       @NotNull
                                       @NotNull String childName)
        Mount a folder containing content in FileVault XML format in repository.
        Parameters:
        mountFolder - Root folder to mount. Path needs to point to the root folder of the content package structure.
        parentResource - Parent resource
        childName - Name of child resource of subtree path that should be mounted from FileVault XML structure
      • folderFileVaultXml

        public void folderFileVaultXml​(@NotNull
                                       @NotNull File mountFolder,
                                       @NotNull
                                       @NotNull String destPath)
        Mount a folder containing content in FileVault XML format in repository.
        Parameters:
        mountFolder - Root folder to mount. Path needs to point to the root folder of the content package structure.
        destPath - Subtree path that should be mounted from FileVault XML structure