Class DefaultFileRegion
java.lang.Object
org.apache.mina.core.file.DefaultFileRegion
- All Implemented Interfaces:
FileRegion
- Direct Known Subclasses:
FilenameFileRegion
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 Summary
FieldsModifier and TypeFieldDescriptionprivate final FileChannelThe channel used to manage the fileprivate final longThe original position in the fileprivate longThe position in teh fileprivate longThe number of bytes remaining to write -
Constructor Summary
ConstructorsConstructorDescriptionDefaultFileRegion(FileChannel channel) Creates a new DefaultFileRegion instanceDefaultFileRegion(FileChannel channel, long position, long remainingBytes) Creates a new DefaultFileRegion instance -
Method Summary
Modifier and TypeMethodDescriptionThe openFileChannelfrom which data will be read to send to remote host.Provides an absolute filename for the underlying FileChannel.longThe current file position from which data will be read.longThe number of bytes remaining to be written from the file to the remote host.longThe total number of bytes already written.voidupdate(long value) Updates the current file position based on the specified amount.
-
Field Details
-
channel
The channel used to manage the file -
originalPosition
private final long originalPositionThe original position in the file -
position
private long positionThe position in teh file -
remainingBytes
private long remainingBytesThe number of bytes remaining to write
-
-
Constructor Details
-
DefaultFileRegion
Creates a new DefaultFileRegion instance- Parameters:
channel- The channel mapped over the file- Throws:
IOException- If we had an IO error
-
DefaultFileRegion
Creates a new DefaultFileRegion instance- Parameters:
channel- The channel mapped over the fileposition- The position in teh fileremainingBytes- The remaining bytes
-
-
Method Details
-
getWrittenBytes
public long getWrittenBytes()The total number of bytes already written.- Specified by:
getWrittenBytesin interfaceFileRegion- 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:
getRemainingBytesin interfaceFileRegion- Returns:
- The number of bytes remaining to be written.
-
getFileChannel
The openFileChannelfrom which data will be read to send to remote host.- Specified by:
getFileChannelin interfaceFileRegion- Returns:
- An open
FileChannel.
-
getPosition
public long getPosition()The current file position from which data will be read.- Specified by:
getPositionin interfaceFileRegion- 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 byFileRegion.getPosition()andFileRegion.getWrittenBytes()by the given amount and decreases the value returned byFileRegion.getRemainingBytes()by the givenamount.- Specified by:
updatein interfaceFileRegion- Parameters:
value- The new value for the file position.
-
getFilename
Provides an absolute filename for the underlying FileChannel.- Specified by:
getFilenamein interfaceFileRegion- Returns:
- the absolute filename, or
nullif the FileRegion does not know the filename
-