Package org.exbin.xbup.core.block
Class XBDefaultEditableDocument
- java.lang.Object
-
- org.exbin.xbup.core.block.XBDefaultEditableDocument
-
- All Implemented Interfaces:
XBDocument,XBEditableDocument
@ParametersAreNonnullByDefault public class XBDefaultEditableDocument extends java.lang.Object implements XBEditableDocument
Basic plain implementation of XBEditableDocument interface.
-
-
Constructor Summary
Constructors Constructor Description XBDefaultEditableDocument(XBBlock rootBlock)XBDefaultEditableDocument(XBBlock rootBlock, org.exbin.auxiliary.paged_data.BinaryData tailData)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clears all data in this document.longgetDocumentSize()Returns size of the whole document if available.java.util.Optional<XBBlock>getRootBlock()Returns root block of the document.java.util.Optional<java.io.InputStream>getTailData()Returns tail data input stream.longgetTailDataSize()Returns size of the tail data if available.voidsetRootBlock(XBBlock block)Sets root block of the document.voidsetTailData(java.io.InputStream source)Sets tail data.
-
-
-
Method Detail
-
getRootBlock
@Nonnull public java.util.Optional<XBBlock> getRootBlock()
Description copied from interface:XBDocumentReturns root block of the document.- Specified by:
getRootBlockin interfaceXBDocument- Returns:
- root block if exits or null.
-
getTailData
@Nonnull public java.util.Optional<java.io.InputStream> getTailData()
Description copied from interface:XBDocumentReturns tail data input stream.- Specified by:
getTailDatain interfaceXBDocument- Returns:
- InputStream of providing read access to data area
-
getTailDataSize
public long getTailDataSize()
Description copied from interface:XBDocumentReturns size of the tail data if available.- Specified by:
getTailDataSizein interfaceXBDocument- Returns:
- length of tail data in bytes or -1 if not available or is infinite
-
getDocumentSize
public long getDocumentSize()
Description copied from interface:XBDocumentReturns size of the whole document if available.- Specified by:
getDocumentSizein interfaceXBDocument- Returns:
- length of whole document in bytes or -1 if not available or is infinite
-
setRootBlock
public void setRootBlock(XBBlock block)
Description copied from interface:XBEditableDocumentSets root block of the document.- Specified by:
setRootBlockin interfaceXBEditableDocument- Parameters:
block- the block to use as root block for this document
-
setTailData
public void setTailData(@Nullable java.io.InputStream source) throws java.io.IOExceptionDescription copied from interface:XBEditableDocumentSets tail data.- Specified by:
setTailDatain interfaceXBEditableDocument- Parameters:
source- data stream- Throws:
java.io.IOException- exception on input/output error
-
clear
public void clear()
Description copied from interface:XBEditableDocumentClears all data in this document.- Specified by:
clearin interfaceXBEditableDocument
-
-