Class PackagesManagementImpl
- java.lang.Object
-
- org.apache.pulsar.packages.management.core.impl.PackagesManagementImpl
-
- All Implemented Interfaces:
PackagesManagement
public class PackagesManagementImpl extends java.lang.Object implements PackagesManagement
Packages management implementation.
-
-
Constructor Summary
Constructors Constructor Description 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.voidinitialize(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.
-
-
-
Method Detail
-
initialize
public void initialize(PackagesStorage storage)
Description copied from interface:PackagesManagementInitialize the packages management service with the given storage.- Specified by:
initializein interfacePackagesManagement- 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:PackagesManagementGet the metadata of a package.- Specified by:
getMetain interfacePackagesManagement- 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:PackagesManagementUpdate the metadata of a package.- Specified by:
updateMetain interfacePackagesManagement- 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:PackagesManagementDownload a package of a given version to a given path.- Specified by:
downloadin interfacePackagesManagement- 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:PackagesManagementUpload a package of a given version from a given path.- Specified by:
uploadin interfacePackagesManagement- Parameters:
packageName- package namemetadata- metadata of a package- Returns:
-
delete
public java.util.concurrent.CompletableFuture<java.lang.Void> delete(PackageName packageName)
Description copied from interface:PackagesManagementDelete 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:
deletein interfacePackagesManagement- 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:PackagesManagementList all the versions of a package.- Specified by:
listin interfacePackagesManagement- 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:PackagesManagementList all the packages with the type of a namespace.- Specified by:
listin interfacePackagesManagement- Parameters:
type- the package typetenant- the tenant namenamespace- the namespace name- Returns:
- the packages name under the specified namespace
-
-