public class SegmentsRepository
extends java.lang.Object
Constructor and Description |
---|
SegmentsRepository() |
Modifier and Type | Method and Description |
---|---|
void |
closeFileSource(FileDataSource fileSource) |
void |
closeMemorySource(MemoryDataSource memorySource) |
DataSegment |
copySegment(DataSegment segment)
Creates copy of segment.
|
DataSegment |
copySegment(DataSegment segment,
long offset,
long length)
Creates copy of segment.
|
DeltaDocument |
createDocument()
Creates empty delta document.
|
DeltaDocument |
createDocument(FileDataSource fileSource)
Creates delta document for given file source.
|
FileSegment |
createFileSegment(FileDataSource fileSource,
long startPosition,
long length)
Creates new file segment on given file source.
|
MemorySegment |
createMemorySegment() |
MemorySegment |
createMemorySegment(MemoryDataSource memorySource,
long startPosition,
long length)
Creates new memory segment on given memory source.
|
void |
detachMemoryArea(MemorySegment memorySegment,
long position,
long length)
Detaches all other memory segments crossing given area of provided memory
segment.
|
void |
detachSegment(MemorySegment memorySegment) |
void |
dropDocument(DeltaDocument document) |
void |
dropFileSegment(FileSegment fileSegment) |
void |
dropMemorySegment(MemorySegment memorySegment) |
void |
dropSegment(DataSegment segment) |
void |
insertMemoryData(MemorySegment memorySegment,
long position,
org.exbin.utils.binary_data.BinaryData insertedData) |
void |
insertMemoryData(MemorySegment memorySegment,
long position,
org.exbin.utils.binary_data.BinaryData insertedData,
long insertedDataOffset,
long insertedDataLength) |
void |
insertMemoryData(MemorySegment memorySegment,
long position,
byte[] insertedData) |
void |
insertMemoryData(MemorySegment memorySegment,
long position,
byte[] insertedData,
int insertedDataOffset,
int insertedDataLength) |
void |
insertMemoryData(MemorySegment memorySegment,
long position,
long length) |
void |
insertUninitializedMemoryData(MemorySegment memorySegment,
long position,
long length) |
FileDataSource |
openFileSource(java.io.File sourceFile) |
MemoryDataSource |
openMemorySource() |
void |
saveDocument(DeltaDocument savedDocument)
Saves document to it's source file and update all documents.
|
void |
setMemoryByte(MemorySegment memorySegment,
long segmentPosition,
byte value)
Sets byte to given segment.
|
void |
updateSegment(DataSegment segment,
long position,
long length) |
void |
updateSegmentLength(DataSegment segment,
long length) |
public FileDataSource openFileSource(java.io.File sourceFile) throws java.io.IOException
java.io.IOException
public void closeFileSource(FileDataSource fileSource)
public MemoryDataSource openMemorySource()
public void closeMemorySource(MemoryDataSource memorySource)
public DeltaDocument createDocument()
public DeltaDocument createDocument(FileDataSource fileSource) throws java.io.IOException
fileSource
- file sourcejava.io.IOException
- if input/output errorpublic void saveDocument(DeltaDocument savedDocument) throws java.io.IOException
savedDocument
- document to savejava.io.IOException
- if input/output errorpublic FileSegment createFileSegment(FileDataSource fileSource, long startPosition, long length)
fileSource
- file sourcestartPosition
- start positionlength
- lengthpublic void dropFileSegment(FileSegment fileSegment)
public MemorySegment createMemorySegment()
public MemorySegment createMemorySegment(MemoryDataSource memorySource, long startPosition, long length)
memorySource
- memory sourcestartPosition
- start positionlength
- lengthpublic void updateSegment(DataSegment segment, long position, long length)
public void updateSegmentLength(DataSegment segment, long length)
public void dropMemorySegment(MemorySegment memorySegment)
public void dropSegment(DataSegment segment)
public void dropDocument(DeltaDocument document)
public void setMemoryByte(MemorySegment memorySegment, long segmentPosition, byte value)
memorySegment
- memory segmentsegmentPosition
- relative position to segment startvalue
- value to setpublic void insertMemoryData(MemorySegment memorySegment, long position, org.exbin.utils.binary_data.BinaryData insertedData)
public void insertMemoryData(MemorySegment memorySegment, long position, org.exbin.utils.binary_data.BinaryData insertedData, long insertedDataOffset, long insertedDataLength)
public void insertMemoryData(MemorySegment memorySegment, long position, byte[] insertedData)
public void insertMemoryData(MemorySegment memorySegment, long position, byte[] insertedData, int insertedDataOffset, int insertedDataLength)
public void insertMemoryData(MemorySegment memorySegment, long position, long length)
public void insertUninitializedMemoryData(MemorySegment memorySegment, long position, long length)
public void detachMemoryArea(MemorySegment memorySegment, long position, long length)
memorySegment
- provided memory segmentposition
- positionlength
- lengthpublic void detachSegment(MemorySegment memorySegment)
public DataSegment copySegment(DataSegment segment)
segment
- original segmentpublic DataSegment copySegment(DataSegment segment, long offset, long length)
segment
- original segmentoffset
- segment area offsetlength
- segment area length