Class S3HttpApiModule<S extends S3Client>

java.lang.Object
com.google.inject.AbstractModule
org.jclouds.rest.config.RestModule
org.jclouds.rest.config.HttpApiModule<S>
org.jclouds.aws.config.AWSHttpApiModule<S>
org.jclouds.s3.config.S3HttpApiModule<S>
All Implemented Interfaces:
com.google.inject.Module

public class S3HttpApiModule<S extends S3Client> extends AWSHttpApiModule<S>
Configures the S3 connection, including logging and http transport.
  • Constructor Details

    • S3HttpApiModule

      public S3HttpApiModule()
    • S3HttpApiModule

      protected S3HttpApiModule(Class<S> syncClientType)
  • Method Details

    • provideBucketToRegion

      @Provides @Singleton protected final com.google.common.cache.CacheLoader<String,com.google.common.base.Optional<String>> provideBucketToRegion(com.google.common.base.Supplier<Set<String>> regionSupplier, S3Client client)
    • bucketToRegion

      protected com.google.common.cache.CacheLoader<String,com.google.common.base.Optional<String>> bucketToRegion(com.google.common.base.Supplier<Set<String>> regionSupplier, S3Client client)
    • bucketToRegion

      @Provides @Singleton protected final com.google.common.cache.LoadingCache<String,com.google.common.base.Optional<String>> bucketToRegion(com.google.common.cache.CacheLoader<String,com.google.common.base.Optional<String>> loader)
    • provideDefaultRegionForBucket

      @Provides @Singleton protected final com.google.common.base.Supplier<String> provideDefaultRegionForBucket(com.google.common.base.Supplier<String> defaultRegion)
    • defaultRegionForBucket

      protected com.google.common.base.Supplier<String> defaultRegionForBucket(com.google.common.base.Supplier<String> defaultRegion)
    • provideBucketURI

      @Provides @Singleton protected final com.google.common.base.Supplier<URI> provideBucketURI(com.google.common.base.Supplier<String> defaultRegion, org.jclouds.location.functions.RegionToEndpointOrProviderIfNull regionToEndpoint)
    • configure

      protected void configure()
      Overrides:
      configure in class org.jclouds.rest.config.HttpApiModule<S extends S3Client>
    • bindErrorHandlers

      protected void bindErrorHandlers()
      Overrides:
      bindErrorHandlers in class AWSHttpApiModule<S extends S3Client>
    • provideRequestAuthorizeSignature

      @Provides @Singleton protected final RequestAuthorizeSignature provideRequestAuthorizeSignature(com.google.inject.Injector i, @Named("jclouds.s3.signer-version") int version)
    • providesRequestAuthorizeSignature

      protected RequestAuthorizeSignature providesRequestAuthorizeSignature(com.google.inject.Injector i, int version)
    • provideRequestSigner

      @Provides @Singleton protected final org.jclouds.rest.RequestSigner provideRequestSigner(RequestAuthorizeSignature in)
    • bindRetryHandlers

      protected void bindRetryHandlers()
      Overrides:
      bindRetryHandlers in class AWSHttpApiModule<S extends S3Client>
    • guiceProvideTimeStamp

      @Provides protected final String guiceProvideTimeStamp(com.google.common.base.Supplier<String> cache)
    • provideTimeStamp

      protected String provideTimeStamp(com.google.common.base.Supplier<String> cache)
    • provideTimeStampCache

      @Provides @Singleton protected final com.google.common.base.Supplier<String> provideTimeStampCache(@Named("jclouds.session-interval") long seconds, org.jclouds.date.DateService dateService)
      borrowing concurrency code to ensure that caching takes place properly
    • provideTimeStampDate

      @Provides protected Date provideTimeStampDate(com.google.common.base.Supplier<Date> cache)
    • guiceProvideTimeStampCacheDate

      @Provides @Singleton protected final com.google.common.base.Supplier<Date> guiceProvideTimeStampCacheDate(@Named("jclouds.session-interval") long seconds, com.google.common.base.Supplier<String> timestamp, org.jclouds.date.DateService dateService)
      borrowing concurrency code to ensure that caching takes place properly
    • provideTimeStampCacheDate

      protected com.google.common.base.Supplier<Date> provideTimeStampCacheDate(@Named("jclouds.session-interval") long seconds, com.google.common.base.Supplier<String> timestamp, org.jclouds.date.DateService dateService)