Class AbstractS3Database<F>

    • Constructor Detail

      • AbstractS3Database

        public AbstractS3Database​(@NonNull
                                  software.amazon.awssdk.services.s3.S3Client s3Client,
                                  @NonNull
                                  Class<F> documentClass,
                                  @NonNull
                                  com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                                  @NonNull
                                  String bucketName,
                                  @NonNull
                                  String prefix)
    • Method Detail

      • getPrefix

        public String getPrefix()
      • getBucketName

        public String getBucketName()
      • tenantPrefix

        protected abstract String tenantPrefix​(String tenantId)
      • objectName

        protected String objectName​(String tenantId,
                                    String id)
        Construct S3 object name
        Parameters:
        tenantId -
        id -
        Returns:
        object name in storage
      • extractObjectName

        protected String extractObjectName​(String key)
      • findOne

        @NonNull
        public F findOne​(String tenantId,
                         @NonNull
                         String id)
      • forAllObjects

        protected void forAllObjects​(String tenantId,
                                     @NonNull
                                     Consumer<software.amazon.awssdk.services.s3.model.S3Object> fileConsumer)
      • exists

        public boolean exists​(String tenantId,
                              @NonNull
                              String id)
      • delete

        public boolean delete​(String tenantId,
                              @NonNull
                              String id)
      • save

        @NonNull
        public F save​(String tenantId,
                      @NonNull
                      F document)
      • createUuid

        protected String createUuid()