Interface JcrPackage

    • Field Detail

      • NT_VLT_PACKAGE

        static final java.lang.String NT_VLT_PACKAGE
        Node type name of a package node
        See Also:
        Constant Field Values
      • NT_VLT_PACKAGE_DEFINITION

        static final java.lang.String NT_VLT_PACKAGE_DEFINITION
        Node type name of a package definition node
        See Also:
        Constant Field Values
      • NN_VLT_DEFINITION

        static final java.lang.String NN_VLT_DEFINITION
        Node name of the definition node
        See Also:
        Constant Field Values
      • MIME_TYPE

        static final java.lang.String MIME_TYPE
        Default mime type of a package
        See Also:
        Constant Field Values
    • Method Detail

      • isValid

        boolean isValid()
        Checks if the underlying node contains the correct structure.
        Returns:
        true if this package is valid.
      • getNode

        @Nullable
        @Nullable Node getNode()
        Returns the underlying node
        Returns:
        the node
      • isSealed

        boolean isSealed()
        Checks if this package is sealed. this is the case, if it was not modified since it was unwrapped.
        Returns:
        true if this package is sealed.
      • getPackage

        @NotNull
        @NotNull VaultPackage getPackage()
                                  throws RepositoryException,
                                         java.io.IOException
        Returns the vault package stored in the data of this package. Opens the package implicitly therefore close() needs to be afterwards. This is potentially a costly operation as this requires uncompressing the ZIP stream (and potentially creating temporary files) therefore prefer using getDefinition() whenever possible to access meta data.
        Returns:
        the package, this is closed when close() is called on this package
        Throws:
        RepositoryException - if an error occurs
        java.io.IOException - if an I/O error occurs
      • extract

        void extract​(@NotNull
                     @NotNull ImportOptions opts)
              throws RepositoryException,
                     PackageException,
                     java.io.IOException
        Extracts the package contents to the repository. Opens the package implicitly therefore close() needs to be afterwards.
        Parameters:
        opts - import options
        Throws:
        RepositoryException - if a repository error during installation occurs.
        PackageException - if an error during packaging occurs
        java.lang.IllegalStateException - if the package is not valid.
        java.io.IOException - if an I/O error occurs
        Since:
        2.3.14
      • install

        void install​(@NotNull
                     @NotNull ImportOptions opts)
              throws RepositoryException,
                     PackageException,
                     java.io.IOException
        Installs the package contents to the repository but creates a snapshot if necessary. Opens the package implicitly therefore close() needs to be afterwards.
        Parameters:
        opts - import options
        Throws:
        RepositoryException - if a repository error during installation occurs.
        PackageException - if an error during packaging occurs
        java.lang.IllegalStateException - if the package is not valid.
        java.io.IOException - if an I/O error occurs
        Since:
        2.3.14
      • extractSubpackages

        @NotNull
        @NotNull PackageId[] extractSubpackages​(@NotNull
                                                @NotNull ImportOptions opts)
                                         throws RepositoryException,
                                                PackageException,
                                                java.io.IOException
        Processes this package and extracts all sub packages. No content of this package or its sub packages is extracted and not snapshots are taken. If ImportOptions.isNonRecursive() is true, then only the direct sub packages are extracted. The extraction ensures that the sub packages have a dependency to their parent package.
        Parameters:
        opts - import options
        Returns:
        the list of subpackages that were extracted
        Throws:
        RepositoryException - if a repository error during installation occurs.
        PackageException - if an error during packaging occurs
        java.lang.IllegalStateException - if the package is not valid.
        java.io.IOException - if an I/O error occurs
        Since:
        3.1.32
      • getUnresolvedDependencies

        @NotNull
        @NotNull Dependency[] getUnresolvedDependencies()
                                                 throws RepositoryException
        Returns the dependencies that are not resolved. If the DependencyHandling is set to strict, the package will not installed if any unresolved dependencies are listed.
        Returns:
        the array of unresolved dependencies.
        Throws:
        RepositoryException - if an error accessing the repository occurrs
        Since:
        3.1.32
      • getResolvedDependencies

        @NotNull
        @NotNull PackageId[] getResolvedDependencies()
                                              throws RepositoryException
        Returns a list of the installed packages that this package depends on.
        Returns:
        the array of resolved dependencies
        Throws:
        RepositoryException - if an error accessing the repository occurrs
        Since:
        3.1.32
      • snapshot

        @Nullable
        @Nullable JcrPackage snapshot​(@NotNull
                                      @NotNull ExportOptions opts,
                                      boolean replace)
                               throws RepositoryException,
                                      PackageException,
                                      java.io.IOException
        Creates a snapshot of this package.
        Parameters:
        opts - export options
        replace - if true any existing snapshot is replaced.
        Returns:
        a package that represents the snapshot of this package or null if it wasn't created.
        Throws:
        RepositoryException - if a repository error during installation occurs.
        PackageException - if an error during packaging occurs
        java.lang.IllegalStateException - if the package is not valid.
        java.io.IOException - if an I/O error occurs
        Since:
        2.0
      • getSnapshot

        @Nullable
        @Nullable JcrPackage getSnapshot()
                                  throws RepositoryException
        Returns the snapshot that was taken when installing this package.
        Returns:
        the snapshot package or null
        Throws:
        RepositoryException - if an error occurs.
        Since:
        2.0
      • verifyId

        @Deprecated
        boolean verifyId​(boolean autoFix,
                         boolean autoSave)
                  throws RepositoryException
        Deprecated.
        As of 3.1.42, the storage location is implementation details.
        Checks if the package id is correct in respect to the installation path and adjusts it accordingly.
        Parameters:
        autoFix - true to automatically fix the id
        autoSave - true to save changes immediately
        Returns:
        true if id is correct.
        Throws:
        RepositoryException - if an error occurs.
        Since:
        2.2.18
      • isInstalled

        boolean isInstalled()
                     throws RepositoryException
        Checks if this package is installed. Note: the default implementation only checks the JcrPackageDefinition.getLastUnpacked() date. If the package is replaced since it was installed. this method will return false.
        Returns:
        true if this package is installed.
        Throws:
        RepositoryException - if an error occurs.
        Since:
        2.4.6
      • isEmpty

        boolean isEmpty()
        Checks if the package has content.
        Returns:
        true if this package doesn't have content
        Since:
        3.1.40
      • getSize

        long getSize()
        Returns the size of the underlying package.
        Returns:
        the size in bytes or -1 if not valid.
      • close

        void close()
        Closes this package and destroys all temporary data. Only necessary to call when getPackage(), extract(ImportOptions) or install(ImportOptions) has been called. Is a no-op when none of these methods have been called on this package.
        Specified by:
        close in interface java.lang.AutoCloseable