Interface PackageManager

All Known Subinterfaces:
JcrPackageManager
All Known Implementing Classes:
JcrPackageManagerImpl, PackageManagerImpl

@ProviderType public interface PackageManager
The package manager is used to deal with packages. the following operations are defined:
open
read underlying data and validate them
close
release underlying data. the package is unusable afterwards
upload
import the package from a binary source to the system. for example create a new jcr node structure or create a file.
export
export the package in binary format.
unwrap
extract the meta information of the binary data and store it in the repository
assemble
create a vault export of the repository using the package definition and filter.
extract
extract the packaged content to the repository.
install
install the packaged content to the repository but create a snapshot if needed.
snapshot
assemble snapshot information that can be used for a later uninstall. this is done by assembling the content using the same filter definition.
uninstall
revert changes to the repository of a previous installation.
  • Method Details

    • open

      @NotNull @NotNull VaultPackage open(@NotNull @NotNull Archive archive) throws IOException
      Opens the given archive and creates a package
      Parameters:
      archive - the archive
      Returns:
      the package
      Throws:
      IOException - if an error occurs
    • open

      @NotNull @NotNull VaultPackage open(@NotNull @NotNull Archive archive, boolean strict) throws IOException
      Opens the given archive and creates a package
      Parameters:
      archive - the archive
      strict - if true the import is more strict with regards to errors.
      Returns:
      the package
      Throws:
      IOException - if an error occurs
    • open

      @NotNull @NotNull VaultPackage open(@NotNull @NotNull File file) throws IOException
      Opens the given file and creates a package
      Parameters:
      file - the file
      Returns:
      the package
      Throws:
      IOException - if an error occurs
    • open

      @NotNull @NotNull VaultPackage open(@NotNull @NotNull File file, boolean strict) throws IOException
      Opens the given file and creates a package
      Parameters:
      file - the file
      strict - if true the import is more strict with regards to errors.
      Returns:
      the package
      Throws:
      IOException - if an error occurs
    • assemble

      @NotNull @NotNull VaultPackage assemble(@NotNull @NotNull Session s, @NotNull @NotNull ExportOptions opts, @Nullable @Nullable File file) throws IOException, RepositoryException
      Assembles a package using the given meta information and file to store to. if file is null a temp file is generated.
      Parameters:
      s - the repository session
      opts - export options
      file - the file to write to
      Returns:
      the newly created vault package
      Throws:
      IOException - if an I/O error occurs.
      RepositoryException - if a repository error during building occurs.
      IllegalStateException - if the package is not new.
    • assemble

      void assemble(@NotNull @NotNull Session s, @NotNull @NotNull ExportOptions opts, @NotNull @NotNull OutputStream out) throws IOException, RepositoryException
      Assembles a package using the given meta information. The package is directly streamed to the given output stream.

      The specified stream is closed after this method returns.

      Parameters:
      s - the repository session
      opts - the export options
      out - the output stream to write to
      Throws:
      IOException - if an I/O error occurs.
      RepositoryException - if a repository error during building occurs.
      IllegalStateException - if the package is not new.
    • rewrap

      @NotNull @NotNull VaultPackage rewrap(@NotNull @NotNull ExportOptions opts, @NotNull @NotNull VaultPackage src, @Nullable @Nullable File file) throws IOException, RepositoryException
      Re-wraps a package using the given meta information and file to store to.
      Parameters:
      opts - export options
      src - source package
      file - the file to write to (may be null) to create a new temp file
      Returns:
      the newly created vault package
      Throws:
      IOException - if an I/O error occurs.
      RepositoryException - if a repository error during building occurs.
      IllegalStateException - if the package is not new.
    • rewrap

      void rewrap(@NotNull @NotNull ExportOptions opts, @NotNull @NotNull VaultPackage src, @NotNull @NotNull OutputStream out) throws IOException
      Re-wraps the given package with the definition provided in the export options.

      The specified stream is closed after this method returns.

      Parameters:
      opts - export options
      src - source package
      out - destination output stream
      Throws:
      IOException - if an I/O error occurs