Package db.buffers

# Interface RemoteManagedBufferFileHandle

All Superinterfaces:
  `BufferFileHandle`, `ManagedBufferFileHandle`, `Remote`

public interface RemoteManagedBufferFileHandle extends ManagedBufferFileHandle, Remote
`RemoteManagedBufferFileHandle` facilitates access to a ManagedBufferFile via RMI.

Methods from `BufferFileHandle` and `ManagedBufferFile` must be re-declared here so they may be properly marshalled for remote invocation via RMI. This became neccessary with an OpenJDK 11.0.6 change made to `RemoteObjectInvocationHandler`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canSave()`
  `void`
  `clearParameters()`
  `void`
  `close()`
  `boolean`
  `delete()`
  `void`
  `dispose()`
  `DataBuffer`
  `get(int index)`
  `int`
  `getBufferSize()`
  `long`
  `getCheckinID()`
  `byte[]`
  `getForwardModMapData(int oldVersion)`
  `int[]`
  `getFreeIndexes()`
  `int`
  `getIndexCount()`
  `InputBlockStream`
  `getInputBlockStream()`
  Provides local access to an input block stream.
  `InputBlockStream`
  `getInputBlockStream(byte[] changeMapData)`
  Provides local access to an input block stream for a given change map.
  `BlockStreamHandle<InputBlockStream>`
  `getInputBlockStreamHandle()`
  Get an input block stream handle which will facilitate access to a remote InputBlockStream.
  `BlockStreamHandle<InputBlockStream>`
  `getInputBlockStreamHandle(byte[] changeMapData)`
  Get an input block stream handle, for a given change map, which will facilitate access to a remote InputBlockStream.
  `BufferFileHandle`
  `getNextChangeDataFile(boolean getFirst)`
  `OutputBlockStream`
  `getOutputBlockStream(int blockCount)`
  Provides local access to an output block stream.
  `BlockStreamHandle<OutputBlockStream>`
  `getOutputBlockStreamHandle(int blockCount)`
  Get an output block stream handle which will facilitate access to a remote InputBlockStream.
  `int`
  `getParameter(String name)`
  `String[]`
  `getParameterNames()`
  `BufferFileHandle`
  `getSaveChangeDataFile()`
  `ManagedBufferFileHandle`
  `getSaveFile()`
  `boolean`
  `isReadOnly()`
  `void`
  `put(DataBuffer buf, int index)`
  `void`
  `saveCompleted(boolean commit)`
  `void`
  `setFreeIndexes(int[] indexes)`
  `void`
  `setParameter(String name, int value)`
  `boolean`
  `setReadOnly()`
  `void`
  `setVersionComment(String comment)`

- ## Method Details

  - ### isReadOnly

    boolean isReadOnly() throws IOException
    Specified by:
      `isReadOnly` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.isReadOnly()`

  - ### setReadOnly

    boolean setReadOnly() throws IOException
    Specified by:
      `setReadOnly` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.setReadOnly()`

  - ### getParameter

    int getParameter(String name) throws NoSuchElementException, IOException
    Specified by:
      `getParameter` in interface `BufferFileHandle`
    Throws:
      `NoSuchElementException`
      `IOException`
    See Also:
      - `BufferFile.getParameter(java.lang.String)`

  - ### setParameter

    void setParameter(String name, int value) throws IOException
    Specified by:
      `setParameter` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.setParameter(java.lang.String, int)`

  - ### clearParameters

    void clearParameters() throws IOException
    Specified by:
      `clearParameters` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.clearParameters()`

  - ### getParameterNames

    String[] getParameterNames() throws IOException
    Specified by:
      `getParameterNames` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.getParameterNames()`

  - ### getBufferSize

    int getBufferSize() throws IOException
    Specified by:
      `getBufferSize` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.getBufferSize()`

  - ### getIndexCount

    int getIndexCount() throws IOException
    Specified by:
      `getIndexCount` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.getIndexCount()`

  - ### getFreeIndexes

    int[] getFreeIndexes() throws IOException
    Specified by:
      `getFreeIndexes` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.getFreeIndexes()`

  - ### setFreeIndexes

    void setFreeIndexes(int[] indexes) throws IOException
    Specified by:
      `setFreeIndexes` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.setFreeIndexes(int[])`

  - ### close

    void close() throws IOException
    Specified by:
      `close` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.close()`

  - ### delete

    boolean delete() throws IOException
    Specified by:
      `delete` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `}`

  - ### get

    DataBuffer get(int index) throws IOException
    Specified by:
      `get` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.get(DataBuffer, int)`

  - ### put

    void put(DataBuffer buf, int index) throws IOException
    Specified by:
      `put` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.put(DataBuffer, int)`

  - ### dispose

    void dispose() throws IOException
    Specified by:
      `dispose` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFile.dispose()`

  - ### getInputBlockStream

    InputBlockStream getInputBlockStream() throws IOException
    Description copied from interface: `BufferFileHandle`
    Provides local access to an input block stream. This method should only be used if the associated `BufferFileAdapter.isRemote()` is false.
    Specified by:
      `getInputBlockStream` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFileAdapter.getInputBlockStream()`

  - ### getOutputBlockStream

    OutputBlockStream getOutputBlockStream(int blockCount) throws IOException
    Description copied from interface: `BufferFileHandle`
    Provides local access to an output block stream. This method should only be used if the associated `BufferFileAdapter.isRemote()` is false.
    Specified by:
      `getOutputBlockStream` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFileAdapter.getOutputBlockStream(int)`

  - ### getInputBlockStreamHandle

    BlockStreamHandle<InputBlockStream> getInputBlockStreamHandle() throws IOException
    Description copied from interface: `BufferFileHandle`
    Get an input block stream handle which will facilitate access to a remote InputBlockStream. The handle will facilitate use of a remote streaming interface. This method should only be used if the associated `BufferFileAdapter.isRemote()` is true.
    Specified by:
      `getInputBlockStreamHandle` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFileAdapter.getInputBlockStream()`

  - ### getOutputBlockStreamHandle

    BlockStreamHandle<OutputBlockStream> getOutputBlockStreamHandle(int blockCount) throws IOException
    Description copied from interface: `BufferFileHandle`
    Get an output block stream handle which will facilitate access to a remote InputBlockStream. The handle will facilitate use of a remote streaming interface. This method should only be used if the associated `BufferFileAdapter.isRemote()` is true.
    Specified by:
      `getOutputBlockStreamHandle` in interface `BufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `BufferFileAdapter.getOutputBlockStream(int)`

  - ### getSaveFile

    ManagedBufferFileHandle getSaveFile() throws IOException
    Specified by:
      `getSaveFile` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.getSaveFile()`

  - ### saveCompleted

    void saveCompleted(boolean commit) throws IOException
    Specified by:
      `saveCompleted` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.saveCompleted(boolean)`

  - ### canSave

    boolean canSave() throws IOException
    Specified by:
      `canSave` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.canSave()`

  - ### setVersionComment

    void setVersionComment(String comment) throws IOException
    Specified by:
      `setVersionComment` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.setVersionComment(java.lang.String)`

  - ### getNextChangeDataFile

    BufferFileHandle getNextChangeDataFile(boolean getFirst) throws IOException
    Specified by:
      `getNextChangeDataFile` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.getNextChangeDataFile(boolean)`

  - ### getSaveChangeDataFile

    BufferFileHandle getSaveChangeDataFile() throws IOException
    Specified by:
      `getSaveChangeDataFile` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.getSaveChangeDataFile()`

  - ### getCheckinID

    long getCheckinID() throws IOException
    Specified by:
      `getCheckinID` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.getCheckinID()`

  - ### getForwardModMapData

    byte[] getForwardModMapData(int oldVersion) throws IOException
    Specified by:
      `getForwardModMapData` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFile.getForwardModMapData(int)`

  - ### getInputBlockStream

    InputBlockStream getInputBlockStream(byte[] changeMapData) throws IOException
    Description copied from interface: `ManagedBufferFileHandle`
    Provides local access to an input block stream for a given change map. This method should only be used if the associated `BufferFileAdapter.isRemote()` is false.
    Specified by:
      `getInputBlockStream` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFileAdapter.getInputBlockStream(byte[])`

  - ### getInputBlockStreamHandle

    BlockStreamHandle<InputBlockStream> getInputBlockStreamHandle(byte[] changeMapData) throws IOException
    Description copied from interface: `ManagedBufferFileHandle`
    Get an input block stream handle, for a given change map, which will facilitate access to a remote InputBlockStream. The handle will facilitate use of a remote streaming interface. This method should only be used if the associated `BufferFileAdapter.isRemote()` is true.
    Specified by:
      `getInputBlockStreamHandle` in interface `ManagedBufferFileHandle`
    Throws:
      `IOException`
    See Also:
      - `ManagedBufferFileAdapter.getInputBlockStream(byte[])`