Class MemoryDataSource

  • All Implemented Interfaces:
    org.exbin.auxiliary.paged_data.BinaryData, org.exbin.auxiliary.paged_data.EditableBinaryData

    @ParametersAreNonnullByDefault
    public class MemoryDataSource
    extends java.lang.Object
    implements org.exbin.auxiliary.paged_data.EditableBinaryData
    Data source for binary data stored in memory.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      org.exbin.auxiliary.paged_data.BinaryData copy()  
      org.exbin.auxiliary.paged_data.BinaryData copy​(long startFrom, long length)  
      void copyToArray​(long startFrom, byte[] target, int offset, int length)  
      void dispose()  
      void fillData​(long startFrom, long length)  
      void fillData​(long startFrom, long length, byte fill)  
      byte getByte​(long position)  
      java.io.InputStream getDataInputStream()  
      java.io.OutputStream getDataOutputStream()  
      long getDataSize()  
      void insert​(long startFrom, byte[] insertedData)  
      void insert​(long startFrom, byte[] insertedData, int insertedDataOffset, int insertedDataLength)  
      void insert​(long startFrom, long length)  
      long insert​(long startFrom, java.io.InputStream inputStream, long length)  
      void insert​(long startFrom, org.exbin.auxiliary.paged_data.BinaryData insertedData)  
      void insert​(long startFrom, org.exbin.auxiliary.paged_data.BinaryData insertedData, long insertedDataOffset, long insertedDataLength)  
      void insertUninitialized​(long startFrom, long length)  
      boolean isEmpty()  
      void loadFromStream​(java.io.InputStream inputStream)  
      void remove​(long startFrom, long length)  
      void replace​(long targetPosition, byte[] replacingData)  
      void replace​(long targetPosition, byte[] replacingData, int replacingDataOffset, int length)  
      void replace​(long targetPosition, org.exbin.auxiliary.paged_data.BinaryData replacingData)  
      void replace​(long targetPosition, org.exbin.auxiliary.paged_data.BinaryData replacingData, long startFrom, long length)  
      void saveToStream​(java.io.OutputStream outputStream)  
      void setByte​(long position, byte value)  
      void setDataSize​(long size)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MemoryDataSource

        public MemoryDataSource()
      • MemoryDataSource

        public MemoryDataSource​(org.exbin.auxiliary.paged_data.EditableBinaryData data)
      • MemoryDataSource

        public MemoryDataSource​(byte[] data)
    • Method Detail

      • setDataSize

        public void setDataSize​(long size)
        Specified by:
        setDataSize in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • setByte

        public void setByte​(long position,
                            byte value)
        Specified by:
        setByte in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • insert

        public void insert​(long startFrom,
                           long length)
        Specified by:
        insert in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • insert

        public void insert​(long startFrom,
                           byte[] insertedData)
        Specified by:
        insert in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • insert

        public void insert​(long startFrom,
                           org.exbin.auxiliary.paged_data.BinaryData insertedData)
        Specified by:
        insert in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • remove

        public void remove​(long startFrom,
                           long length)
        Specified by:
        remove in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface org.exbin.auxiliary.paged_data.BinaryData
      • getDataSize

        public long getDataSize()
        Specified by:
        getDataSize in interface org.exbin.auxiliary.paged_data.BinaryData
      • getByte

        public byte getByte​(long position)
        Specified by:
        getByte in interface org.exbin.auxiliary.paged_data.BinaryData
      • saveToStream

        public void saveToStream​(java.io.OutputStream outputStream)
                          throws java.io.IOException
        Specified by:
        saveToStream in interface org.exbin.auxiliary.paged_data.BinaryData
        Throws:
        java.io.IOException
      • copy

        @Nonnull
        public org.exbin.auxiliary.paged_data.BinaryData copy()
        Specified by:
        copy in interface org.exbin.auxiliary.paged_data.BinaryData
      • copy

        @Nonnull
        public org.exbin.auxiliary.paged_data.BinaryData copy​(long startFrom,
                                                              long length)
        Specified by:
        copy in interface org.exbin.auxiliary.paged_data.BinaryData
      • insertUninitialized

        public void insertUninitialized​(long startFrom,
                                        long length)
        Specified by:
        insertUninitialized in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • insert

        public void insert​(long startFrom,
                           byte[] insertedData,
                           int insertedDataOffset,
                           int insertedDataLength)
        Specified by:
        insert in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • insert

        public void insert​(long startFrom,
                           org.exbin.auxiliary.paged_data.BinaryData insertedData,
                           long insertedDataOffset,
                           long insertedDataLength)
        Specified by:
        insert in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • insert

        public long insert​(long startFrom,
                           java.io.InputStream inputStream,
                           long length)
                    throws java.io.IOException
        Specified by:
        insert in interface org.exbin.auxiliary.paged_data.EditableBinaryData
        Throws:
        java.io.IOException
      • replace

        public void replace​(long targetPosition,
                            org.exbin.auxiliary.paged_data.BinaryData replacingData)
        Specified by:
        replace in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • replace

        public void replace​(long targetPosition,
                            org.exbin.auxiliary.paged_data.BinaryData replacingData,
                            long startFrom,
                            long length)
        Specified by:
        replace in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • replace

        public void replace​(long targetPosition,
                            byte[] replacingData)
        Specified by:
        replace in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • replace

        public void replace​(long targetPosition,
                            byte[] replacingData,
                            int replacingDataOffset,
                            int length)
        Specified by:
        replace in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • fillData

        public void fillData​(long startFrom,
                             long length)
        Specified by:
        fillData in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • fillData

        public void fillData​(long startFrom,
                             long length,
                             byte fill)
        Specified by:
        fillData in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • clear

        public void clear()
        Specified by:
        clear in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • loadFromStream

        public void loadFromStream​(java.io.InputStream inputStream)
                            throws java.io.IOException
        Specified by:
        loadFromStream in interface org.exbin.auxiliary.paged_data.EditableBinaryData
        Throws:
        java.io.IOException
      • getDataOutputStream

        @Nonnull
        public java.io.OutputStream getDataOutputStream()
        Specified by:
        getDataOutputStream in interface org.exbin.auxiliary.paged_data.EditableBinaryData
      • copyToArray

        public void copyToArray​(long startFrom,
                                byte[] target,
                                int offset,
                                int length)
        Specified by:
        copyToArray in interface org.exbin.auxiliary.paged_data.BinaryData
      • getDataInputStream

        @Nonnull
        public java.io.InputStream getDataInputStream()
        Specified by:
        getDataInputStream in interface org.exbin.auxiliary.paged_data.BinaryData
      • dispose

        public void dispose()
        Specified by:
        dispose in interface org.exbin.auxiliary.paged_data.BinaryData