Package org.apache.commons.io.build

# Class AbstractOrigin.AbstractRandomAccessFileOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<T,B>
org.apache.commons.io.build.AbstractOrigin<T,B>
org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>

Type Parameters:
  `T` - the type of instances to build.
  `B` - the type of builder subclass.

All Implemented Interfaces:
  `IOSupplier<T>`

Direct Known Subclasses:
  `AbstractOrigin.IORandomAccessFileOrigin`, `AbstractOrigin.RandomAccessFileOrigin`

Enclosing class:
  `AbstractOrigin<T,B extends AbstractOrigin<T,B>>`

public abstract static class AbstractOrigin.AbstractRandomAccessFileOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>> extends AbstractOrigin<T,B>
A `RandomAccessFile` origin.

This origin cannot support File and Path since you cannot query a RandomAccessFile for those attributes; Use `AbstractOrigin.IORandomAccessFileOrigin` instead.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.commons.io.build.AbstractOrigin

  `AbstractOrigin.AbstractRandomAccessFileOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>, AbstractOrigin.ByteArrayOrigin, AbstractOrigin.CharSequenceOrigin, AbstractOrigin.FileOrigin, AbstractOrigin.InputStreamOrigin, AbstractOrigin.IORandomAccessFileOrigin, AbstractOrigin.OutputStreamOrigin, AbstractOrigin.PathOrigin, AbstractOrigin.RandomAccessFileOrigin, AbstractOrigin.ReaderOrigin, AbstractOrigin.URIOrigin, AbstractOrigin.WriterOrigin`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractRandomAccessFileOrigin(T origin)`
  A `RandomAccessFile` origin.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte[]`
  `getByteArray()`
  Gets this origin as a byte array, if possible.
  `byte[]`
  `getByteArray(long position, int length)`
  Gets a portion of this origin as a byte array, if possible.
  `CharSequence`
  `getCharSequence(Charset charset)`
  Gets this origin as a byte array, if possible.
  `InputStream`
  `getInputStream(OpenOption... options)`
  Gets this origin as an InputStream, if possible.
  `OutputStream`
  `getOutputStream(OpenOption... options)`
  Gets this origin as an OutputStream, if possible.
  `T`
  `getRandomAccessFile(OpenOption... openOption)`
  Gets this origin as a RandomAccessFile, if possible.
  `Reader`
  `getReader(Charset charset)`
  Gets a new Reader on the origin, buffered by default.
  `Writer`
  `getWriter(Charset charset, OpenOption... options)`
  Gets a new Writer on the origin, buffered by default.
  `long`
  `size()`
  Gets the size of the origin, if possible.

  ### Methods inherited from class org.apache.commons.io.build.AbstractOrigin

  `get, getFile, getPath, toString`

  ### Methods inherited from class org.apache.commons.io.build.AbstractSupplier

  `asThis`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.io.function.IOSupplier

  `asSupplier, getUnchecked`

- ## Constructor Details

  - ### AbstractRandomAccessFileOrigin

    public AbstractRandomAccessFileOrigin(T origin)
    A `RandomAccessFile` origin.

    Starting from this origin, you can everything except a Path and a File.

    Parameters:
      `origin` - The origin, not null.

- ## Method Details

  - ### getByteArray

    public byte[] getByteArray() throws IOException
    Description copied from class: `AbstractOrigin`
    Gets this origin as a byte array, if possible.
    Overrides:
      `getByteArray` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Returns:
      this origin as a byte array, if possible.
    Throws:
      `IOException` - if an I/O error occurs.

  - ### getByteArray

    public byte[] getByteArray(long position, int length) throws IOException
    Description copied from class: `AbstractOrigin`
    Gets a portion of this origin as a byte array, if possible.
    Overrides:
      `getByteArray` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `position` - the initial index of the range to be copied, inclusive.
      `length` - How many bytes to copy.
    Returns:
      this origin as a byte array, if possible.
    Throws:
      `IOException` - if an I/O error occurs.

  - ### getCharSequence

    public CharSequence getCharSequence(Charset charset) throws IOException
    Description copied from class: `AbstractOrigin`
    Gets this origin as a byte array, if possible.
    Overrides:
      `getCharSequence` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `charset` - The charset to use if conversion from bytes is needed.
    Returns:
      this origin as a byte array, if possible.
    Throws:
      `IOException` - if an I/O error occurs.

  - ### getInputStream

    public InputStream getInputStream(OpenOption... options) throws IOException
    Description copied from class: `AbstractOrigin`
    Gets this origin as an InputStream, if possible.
    Overrides:
      `getInputStream` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `options` - options specifying how the file is opened
    Returns:
      this origin as an InputStream, if possible.
    Throws:
      `IOException` - if an I/O error occurs.

  - ### getOutputStream

    public OutputStream getOutputStream(OpenOption... options) throws IOException
    Description copied from class: `AbstractOrigin`
    Gets this origin as an OutputStream, if possible.
    Overrides:
      `getOutputStream` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `options` - options specifying how the file is opened
    Returns:
      this origin as an OutputStream, if possible.
    Throws:
      `IOException` - if an I/O error occurs.

  - ### getRandomAccessFile

    public T getRandomAccessFile(OpenOption... openOption)
    Description copied from class: `AbstractOrigin`
    Gets this origin as a RandomAccessFile, if possible.
    Overrides:
      `getRandomAccessFile` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `openOption` - options like `StandardOpenOption`.
    Returns:
      this origin as a RandomAccessFile, if possible.

  - ### getReader

    public Reader getReader(Charset charset) throws IOException
    Description copied from class: `AbstractOrigin`
    Gets a new Reader on the origin, buffered by default.
    Overrides:
      `getReader` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `charset` - the charset to use for decoding, null maps to the default Charset.
    Returns:
      a new Reader on the origin.
    Throws:
      `IOException` - if an I/O error occurs opening the file.

  - ### getWriter

    public Writer getWriter(Charset charset, OpenOption... options) throws IOException
    Description copied from class: `AbstractOrigin`
    Gets a new Writer on the origin, buffered by default.
    Overrides:
      `getWriter` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Parameters:
      `charset` - the charset to use for encoding
      `options` - options specifying how the file is opened
    Returns:
      a new Writer on the origin.
    Throws:
      `IOException` - if an I/O error occurs opening or creating the file.

  - ### size

    public long size() throws IOException
    Description copied from class: `AbstractOrigin`
    Gets the size of the origin, if possible.
    Overrides:
      `size` in class `AbstractOrigin<T extends RandomAccessFile,B extends AbstractOrigin.AbstractRandomAccessFileOrigin<T,B>>`
    Returns:
      the size of the origin in bytes or characters.
    Throws:
      `IOException` - if an I/O error occurs.