Class AbstractOrigin<T,B extends AbstractOrigin<T,B>>

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<T,B>
org.apache.commons.io.build.AbstractOrigin<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.ByteArrayOrigin, AbstractOrigin.CharSequenceOrigin, AbstractOrigin.FileOrigin, AbstractOrigin.InputStreamOrigin, AbstractOrigin.OutputStreamOrigin, AbstractOrigin.PathOrigin, AbstractOrigin.ReaderOrigin, AbstractOrigin.URIOrigin, AbstractOrigin.WriterOrigin

public abstract class AbstractOrigin<T,B extends AbstractOrigin<T,B>> extends AbstractSupplier<T,B>
Abstracts the origin of data for builders like a File, Path, Reader, Writer, InputStream, OutputStream, and URI.

Some methods may throw UnsupportedOperationException if that method is not implemented in a concrete subclass, see getFile() and getPath().

Since:
2.12.0
  • Constructor Details

    • AbstractOrigin

      protected AbstractOrigin(T origin)
      Constructs a new instance for a subclass.
      Parameters:
      origin - The origin.
  • Method Details

    • get

      public T get()
      Gets the origin.
      Returns:
      the origin.
    • getByteArray

      public byte[] getByteArray() throws IOException
      Gets this origin as a byte array, if possible.
      Returns:
      this origin as a byte array, if possible.
      Throws:
      IOException - if an I/O error occurs.
      UnsupportedOperationException - if the origin cannot be converted to a Path.
    • getByteArray

      public byte[] getByteArray(long position, int length) throws IOException
      Gets this origin as a byte array, if possible.
      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:
      UnsupportedOperationException - if the origin cannot be converted to a Path.
      ArithmeticException - if the position overflows an int
      IOException - if an I/O error occurs.
      Since:
      2.13.0
    • getCharSequence

      Gets this origin as a byte array, if possible.
      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.
      UnsupportedOperationException - if the origin cannot be converted to a Path.
    • getFile

      public File getFile()
      Gets this origin as a Path, if possible.
      Returns:
      this origin as a Path, if possible.
      Throws:
      UnsupportedOperationException - if this method is not implemented in a concrete subclass.
    • getInputStream

      public InputStream getInputStream(OpenOption... options) throws IOException
      Gets this origin as an InputStream, if possible.
      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.
      UnsupportedOperationException - if the origin cannot be converted to a Path.
    • getOutputStream

      public OutputStream getOutputStream(OpenOption... options) throws IOException
      Gets this origin as an OutputStream, if possible.
      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.
      UnsupportedOperationException - if the origin cannot be converted to a Path.
    • getPath

      public Path getPath()
      Gets this origin as a Path, if possible.
      Returns:
      this origin as a Path, if possible.
      Throws:
      UnsupportedOperationException - if this method is not implemented in a concrete subclass.
    • getReader

      public Reader getReader(Charset charset) throws IOException
      Gets a new Reader on the origin, buffered by default.
      Parameters:
      charset - the charset to use for decoding
      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
      Gets a new Writer on the origin, buffered by default.
      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.
      UnsupportedOperationException - if the origin cannot be converted to a Path.
    • size

      public long size() throws IOException
      Gets the size of the origin, if possible.
      Returns:
      the size of the origin in bytes or characters.
      Throws:
      IOException - if an I/O error occurs.
      Since:
      2.13.0
    • toString

      public String toString()
      Overrides:
      toString in class Object