Class InMemoryOutputFile

java.lang.Object
org.apache.iceberg.inmemory.InMemoryOutputFile
All Implemented Interfaces:
OutputFile

public class InMemoryOutputFile extends Object implements OutputFile
  • Constructor Details

    • InMemoryOutputFile

      public InMemoryOutputFile()
    • InMemoryOutputFile

      public InMemoryOutputFile(String location)
    • InMemoryOutputFile

      public InMemoryOutputFile(String location, InMemoryFileIO parentFileIO)
      If the optional parentFileIO is provided, file-existence behaves similarly to S3FileIO; existence checks are performed up-front if creating without overwrite, but files only exist in the parentFileIO if close() has been called on the associated output streams (or pre-existing files are populated into the parentFileIO through other means).
      Parameters:
      location - the location returned by location() of this OutputFile, the InputFile obtained from calling toInputFile(), and the location for looking up the associated InputFile from a parentFileIO, if non-null.
      parentFileIO - if non-null, commits an associated InMemoryInputFile on close() into the parentFileIO, and uses the parentFileIO for "already exists" checks if creating without overwriting.
  • Method Details

    • create

      public PositionOutputStream create()
      Description copied from interface: OutputFile
      Create a new file and return a PositionOutputStream to it.

      If the file already exists, this will throw an exception.

      Specified by:
      create in interface OutputFile
      Returns:
      an output stream that can report its position
    • createOrOverwrite

      public PositionOutputStream createOrOverwrite()
      Description copied from interface: OutputFile
      Create a new file and return a PositionOutputStream to it.

      If the file already exists, this will not throw an exception and will replace the file.

      Specified by:
      createOrOverwrite in interface OutputFile
      Returns:
      an output stream that can report its position
    • location

      public String location()
      Description copied from interface: OutputFile
      Return the location this output file will create.
      Specified by:
      location in interface OutputFile
      Returns:
      the location of this output file
    • toInputFile

      public InputFile toInputFile()
      Description copied from interface: OutputFile
      Return an InputFile for the location of this output file.
      Specified by:
      toInputFile in interface OutputFile
      Returns:
      an input file for the location of this output file
    • toByteArray

      public byte[] toByteArray()