Class DefaultFileRegion

java.lang.Object
org.apache.mina.core.file.DefaultFileRegion
All Implemented Interfaces:
FileRegion
Direct Known Subclasses:
FilenameFileRegion

public class DefaultFileRegion extends Object implements FileRegion
Manage a File to be sent to a remote host. We keep a track on the current position, and the number of already written bytes.
  • Field Details

    • channel

      private final FileChannel channel
      The channel used to manage the file
    • originalPosition

      private final long originalPosition
      The original position in the file
    • position

      private long position
      The position in teh file
    • remainingBytes

      private long remainingBytes
      The number of bytes remaining to write
  • Constructor Details

    • DefaultFileRegion

      public DefaultFileRegion(FileChannel channel) throws IOException
      Creates a new DefaultFileRegion instance
      Parameters:
      channel - The channel mapped over the file
      Throws:
      IOException - If we had an IO error
    • DefaultFileRegion

      public DefaultFileRegion(FileChannel channel, long position, long remainingBytes)
      Creates a new DefaultFileRegion instance
      Parameters:
      channel - The channel mapped over the file
      position - The position in teh file
      remainingBytes - The remaining bytes
  • Method Details

    • getWrittenBytes

      public long getWrittenBytes()
      The total number of bytes already written.
      Specified by:
      getWrittenBytes in interface FileRegion
      Returns:
      The total number of bytes already written.
    • getRemainingBytes

      public long getRemainingBytes()
      The number of bytes remaining to be written from the file to the remote host.
      Specified by:
      getRemainingBytes in interface FileRegion
      Returns:
      The number of bytes remaining to be written.
    • getFileChannel

      public FileChannel getFileChannel()
      The open FileChannel from which data will be read to send to remote host.
      Specified by:
      getFileChannel in interface FileRegion
      Returns:
      An open FileChannel.
    • getPosition

      public long getPosition()
      The current file position from which data will be read.
      Specified by:
      getPosition in interface FileRegion
      Returns:
      The current file position.
    • update

      public void update(long value)
      Updates the current file position based on the specified amount. This increases the value returned by FileRegion.getPosition() and FileRegion.getWrittenBytes() by the given amount and decreases the value returned by FileRegion.getRemainingBytes() by the given amount.
      Specified by:
      update in interface FileRegion
      Parameters:
      value - The new value for the file position.
    • getFilename

      public String getFilename()
      Provides an absolute filename for the underlying FileChannel.
      Specified by:
      getFilename in interface FileRegion
      Returns:
      the absolute filename, or null if the FileRegion does not know the filename