Class PolarisStorageIntegrationProviderImpl

java.lang.Object
org.apache.polaris.service.storage.PolarisStorageIntegrationProviderImpl
All Implemented Interfaces:
org.apache.polaris.core.storage.PolarisStorageIntegrationProvider

@ApplicationScoped public class PolarisStorageIntegrationProviderImpl extends Object implements org.apache.polaris.core.storage.PolarisStorageIntegrationProvider
Provider that returns a PolarisStorageIntegration for a resolved entity path. A fresh integration is constructed per call; the per-config state inside each integration is a thin wrapper over shared, application-scoped resources (STS client provider, GCP credentials supplier, Google HTTP transport factory, request-scope realm config).
  • Constructor Summary

    Constructors
    Constructor
    Description
    PolarisStorageIntegrationProviderImpl(org.apache.polaris.core.storage.aws.StsClientProvider stsClientProvider, Optional<software.amazon.awssdk.auth.credentials.AwsCredentialsProvider> stsCredentials, Supplier<com.google.auth.oauth2.GoogleCredentials> gcpCredsProvider, org.apache.polaris.core.storage.cache.StorageCredentialCache cache, org.apache.polaris.core.config.RealmConfig realmConfig, org.apache.polaris.core.PolarisDiagnostics diagnostics)
     
    PolarisStorageIntegrationProviderImpl(StorageConfiguration storageConfiguration, org.apache.polaris.core.storage.aws.StsClientProvider stsClientProvider, org.apache.polaris.core.config.RealmConfig realmConfig, Clock clock, org.apache.polaris.core.storage.cache.StorageCredentialCache cache, org.apache.polaris.core.PolarisDiagnostics diagnostics)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable org.apache.polaris.core.storage.PolarisStorageIntegration
    getStorageIntegration(@NonNull List<org.apache.polaris.core.entity.PolarisEntity> resolvedEntityPath)
     

    Methods inherited from class java.lang.Object

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

    • PolarisStorageIntegrationProviderImpl

      @Inject public PolarisStorageIntegrationProviderImpl(StorageConfiguration storageConfiguration, org.apache.polaris.core.storage.aws.StsClientProvider stsClientProvider, org.apache.polaris.core.config.RealmConfig realmConfig, Clock clock, org.apache.polaris.core.storage.cache.StorageCredentialCache cache, org.apache.polaris.core.PolarisDiagnostics diagnostics)
    • PolarisStorageIntegrationProviderImpl

      public PolarisStorageIntegrationProviderImpl(org.apache.polaris.core.storage.aws.StsClientProvider stsClientProvider, Optional<software.amazon.awssdk.auth.credentials.AwsCredentialsProvider> stsCredentials, Supplier<com.google.auth.oauth2.GoogleCredentials> gcpCredsProvider, org.apache.polaris.core.storage.cache.StorageCredentialCache cache, org.apache.polaris.core.config.RealmConfig realmConfig, org.apache.polaris.core.PolarisDiagnostics diagnostics)
  • Method Details

    • getStorageIntegration

      public @Nullable org.apache.polaris.core.storage.PolarisStorageIntegration getStorageIntegration(@NonNull List<org.apache.polaris.core.entity.PolarisEntity> resolvedEntityPath)
      Specified by:
      getStorageIntegration in interface org.apache.polaris.core.storage.PolarisStorageIntegrationProvider