Class IcebergFiles

java.lang.Object
org.projectnessie.gc.iceberg.files.IcebergFiles
All Implemented Interfaces:
AutoCloseable, org.projectnessie.gc.files.FileDeleter, org.projectnessie.gc.files.FilesLister

@Immutable public abstract class IcebergFiles extends Object implements org.projectnessie.gc.files.FilesLister, org.projectnessie.gc.files.FileDeleter, AutoCloseable
Provides functionality to list and delete files using Iceberg's S3FileIO for S3 schemes and/or ResolvingFileIO for non-S3 schemes.

The FileIO instances are only instantiated when needed.

  • Constructor Details

    • IcebergFiles

      public IcebergFiles()
  • Method Details

    • builder

      public static IcebergFiles.Builder builder()
    • resolvingFileIO

      @Lazy public org.apache.iceberg.io.FileIO resolvingFileIO()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • listRecursively

      @MustBeClosed public Stream<org.projectnessie.gc.files.FileReference> listRecursively(URI path) throws org.projectnessie.gc.files.NessieFileIOException
      Specified by:
      listRecursively in interface org.projectnessie.gc.files.FilesLister
      Throws:
      org.projectnessie.gc.files.NessieFileIOException
    • delete

      public org.projectnessie.gc.files.DeleteResult delete(org.projectnessie.gc.files.FileReference fileReference)
      Specified by:
      delete in interface org.projectnessie.gc.files.FileDeleter
    • deleteMultiple

      public org.projectnessie.gc.files.DeleteSummary deleteMultiple(URI baseUri, Stream<org.projectnessie.gc.files.FileReference> fileObjects)
      Specified by:
      deleteMultiple in interface org.projectnessie.gc.files.FileDeleter