Class IcebergFiles

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.projectnessie.gc.files.FileDeleter, org.projectnessie.gc.files.FilesLister

    @Immutable
    public abstract class IcebergFiles
    extends java.lang.Object
    implements org.projectnessie.gc.files.FilesLister, org.projectnessie.gc.files.FileDeleter, java.lang.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.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  IcebergFiles.Builder  
    • Constructor Summary

      Constructors 
      Constructor Description
      IcebergFiles()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static IcebergFiles.Builder builder()  
      void close()  
      org.projectnessie.gc.files.DeleteResult delete​(org.projectnessie.gc.files.FileReference fileReference)  
      org.projectnessie.gc.files.DeleteSummary deleteMultiple​(java.net.URI baseUri, java.util.stream.Stream<org.projectnessie.gc.files.FileReference> fileObjects)  
      java.util.stream.Stream<org.projectnessie.gc.files.FileReference> listRecursively​(java.net.URI path)  
      org.apache.iceberg.io.FileIO resolvingFileIO()  
      • Methods inherited from class java.lang.Object

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

      • IcebergFiles

        public IcebergFiles()
    • Method Detail

      • resolvingFileIO

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

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

        @MustBeClosed
        public java.util.stream.Stream<org.projectnessie.gc.files.FileReference> listRecursively​(java.net.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​(java.net.URI baseUri,
                                                                       java.util.stream.Stream<org.projectnessie.gc.files.FileReference> fileObjects)
        Specified by:
        deleteMultiple in interface org.projectnessie.gc.files.FileDeleter