Class PackagesManagementImpl

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletableFuture<java.lang.Void> delete​(PackageName packageName)
      Delete a package.
      java.util.concurrent.CompletableFuture<java.lang.Void> download​(PackageName packageName, java.io.OutputStream outputStream)
      Download a package of a given version to a given path.
      java.util.concurrent.CompletableFuture<org.apache.pulsar.packages.management.core.common.PackageMetadata> getMeta​(PackageName packageName)
      Get the metadata of a package.
      void initialize​(PackagesStorage storage)
      Initialize the packages management service with the given storage.
      java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> list​(PackageName packageName)
      List all the versions of a package.
      java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> list​(org.apache.pulsar.packages.management.core.common.PackageType type, java.lang.String tenant, java.lang.String namespace)
      List all the packages with the type of a namespace.
      java.util.concurrent.CompletableFuture<java.lang.Void> updateMeta​(PackageName packageName, org.apache.pulsar.packages.management.core.common.PackageMetadata metadata)
      Update the metadata of a package.
      java.util.concurrent.CompletableFuture<java.lang.Void> upload​(PackageName packageName, org.apache.pulsar.packages.management.core.common.PackageMetadata metadata, java.io.InputStream inputStream)
      Upload a package of a given version from a given path.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PackagesManagementImpl

        public PackagesManagementImpl()
    • Method Detail

      • initialize

        public void initialize​(PackagesStorage storage)
        Description copied from interface: PackagesManagement
        Initialize the packages management service with the given storage.
        Specified by:
        initialize in interface PackagesManagement
        Parameters:
        storage - the storage used to saving packages
      • getMeta

        public java.util.concurrent.CompletableFuture<org.apache.pulsar.packages.management.core.common.PackageMetadata> getMeta​(PackageName packageName)
        Description copied from interface: PackagesManagement
        Get the metadata of a package.
        Specified by:
        getMeta in interface PackagesManagement
        Parameters:
        packageName - package name
        Returns:
      • updateMeta

        public java.util.concurrent.CompletableFuture<java.lang.Void> updateMeta​(PackageName packageName,
                                                                                 org.apache.pulsar.packages.management.core.common.PackageMetadata metadata)
        Description copied from interface: PackagesManagement
        Update the metadata of a package.
        Specified by:
        updateMeta in interface PackagesManagement
        Parameters:
        packageName - package name
        Returns:
      • download

        public java.util.concurrent.CompletableFuture<java.lang.Void> download​(PackageName packageName,
                                                                               java.io.OutputStream outputStream)
        Description copied from interface: PackagesManagement
        Download a package of a given version to a given path.
        Specified by:
        download in interface PackagesManagement
        Parameters:
        packageName - package name
        Returns:
      • upload

        public java.util.concurrent.CompletableFuture<java.lang.Void> upload​(PackageName packageName,
                                                                             org.apache.pulsar.packages.management.core.common.PackageMetadata metadata,
                                                                             java.io.InputStream inputStream)
        Description copied from interface: PackagesManagement
        Upload a package of a given version from a given path.
        Specified by:
        upload in interface PackagesManagement
        Parameters:
        packageName - package name
        metadata - metadata of a package
        Returns:
      • delete

        public java.util.concurrent.CompletableFuture<java.lang.Void> delete​(PackageName packageName)
        Description copied from interface: PackagesManagement
        Delete a package. It will delete all versions of a package if the version is not specified. Otherwise it will delete the specified version package.
        Specified by:
        delete in interface PackagesManagement
        Parameters:
        packageName - package name type://tenant/namespace/name@version is delete a given version of the package type://tenant/namespace/name is delete all versions of the package
        Returns:
      • list

        public java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> list​(PackageName packageName)
        Description copied from interface: PackagesManagement
        List all the versions of a package.
        Specified by:
        list in interface PackagesManagement
        Parameters:
        packageName - package name without version
        Returns:
        all the versions of the specified package
      • list

        public java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> list​(org.apache.pulsar.packages.management.core.common.PackageType type,
                                                                                             java.lang.String tenant,
                                                                                             java.lang.String namespace)
        Description copied from interface: PackagesManagement
        List all the packages with the type of a namespace.
        Specified by:
        list in interface PackagesManagement
        Parameters:
        type - the package type
        tenant - the tenant name
        namespace - the namespace name
        Returns:
        the packages name under the specified namespace