Class DefaultFileIOFactory

java.lang.Object
org.apache.polaris.service.catalog.io.DefaultFileIOFactory
All Implemented Interfaces:
FileIOFactory

@RequestScoped @Identifier("default") public class DefaultFileIOFactory extends Object implements FileIOFactory
A default FileIO factory implementation for creating Iceberg FileIO instances with contextual table-level properties.

This class acts as a translation layer between Polaris properties and the properties required by Iceberg's FileIO.

  • Constructor Details

    • DefaultFileIOFactory

      @Inject public DefaultFileIOFactory()
  • Method Details

    • loadFileIO

      public org.apache.iceberg.io.FileIO loadFileIO(@Nonnull org.apache.polaris.core.storage.StorageAccessConfig storageAccessConfig, @Nonnull String ioImplClassName, @Nonnull Map<String,String> properties)
      Description copied from interface: FileIOFactory
      Loads a FileIO implementation for a specific table in the given realm with detailed config.

      This method may obtain subscoped credentials to restrict the FileIO's permissions, ensuring secure and limited access to the table's data and locations.

      Specified by:
      loadFileIO in interface FileIOFactory
      Parameters:
      storageAccessConfig - the storage access configuration containing credentials and other properties.
      ioImplClassName - the class name of the FileIO implementation to load.
      properties - configuration properties for the FileIO.
      Returns:
      a configured FileIO instance.