Package org.apache.commons.io.input

# Class CharSequenceInputStream.Builder

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<CharSequenceInputStream,CharSequenceInputStream.Builder>
org.apache.commons.io.build.AbstractOriginSupplier<CharSequenceInputStream,CharSequenceInputStream.Builder>
org.apache.commons.io.build.AbstractStreamBuilder<CharSequenceInputStream,CharSequenceInputStream.Builder>
org.apache.commons.io.input.CharSequenceInputStream.Builder

All Implemented Interfaces:
  `IOSupplier<CharSequenceInputStream>`

Enclosing class:
  `CharSequenceInputStream`

public static class CharSequenceInputStream.Builder extends AbstractStreamBuilder<CharSequenceInputStream,CharSequenceInputStream.Builder>
Builds a new `CharSequenceInputStream`.

For example:

## Using a Charset

     CharSequenceInputStream s = CharSequenceInputStream.builder()
       .setBufferSize(8192)
       .setCharSequence("String")
       .setCharset(Charset.defaultCharset())
       .get();

## Using a CharsetEncoder

     CharSequenceInputStream s = CharSequenceInputStream.builder()
       .setBufferSize(8192)
       .setCharSequence("String")
       .setCharsetEncoder(Charset.defaultCharset().newEncoder()
         .onMalformedInput(CodingErrorAction.REPLACE)
         .onUnmappableCharacter(CodingErrorAction.REPLACE))
       .get();

Since:
  2.13.0
See Also:
  - `get()`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Builder()`
  Constructs a new builder of `CharSequenceInputStream`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CharSequenceInputStream`
  `get()`
  Builds a new `CharSequenceInputStream`.
  `CharSequenceInputStream.Builder`
  `setCharset(Charset charset)`
  Sets the Charset.
  `CharSequenceInputStream.Builder`
  `setCharsetEncoder(CharsetEncoder newEncoder)`
  Sets the charset encoder.

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

  `getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getFile, getInputStream, getOpenOptions, getOutputStream, getPath, getRandomAccessFile, getReader, getWriter, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeDefault, setBufferSizeMax, setCharset, setCharsetDefault, setOpenOptions`

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

  `checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newRandomAccessFileOrigin, newRandomAccessFileOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOrigin, setOutputStream, setPath, setPath, setRandomAccessFile, setRandomAccessFile, setReader, setURI, setWriter`

  ### 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, toString, wait, wait, wait`

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

  `asSupplier, getUnchecked`

- ## Constructor Details

  - ### Builder

    public Builder()
    Constructs a new builder of `CharSequenceInputStream`.

- ## Method Details

  - ### get

    public CharSequenceInputStream get()
    Builds a new `CharSequenceInputStream`.

    You must set an aspect that supports `AbstractStreamBuilder.getCharSequence()`, otherwise, this method throws an exception.

    This builder uses the following aspects:

    - `AbstractStreamBuilder.getCharSequence()` gets the target aspect.
    - `AbstractStreamBuilder.getBufferSize()`
    - `CharsetEncoder`
    Returns:
      a new instance.
    Throws:
      `IllegalArgumentException` - if the buffer is not large enough to hold a complete character.
    See Also:
      - `IOSupplier.getUnchecked()`

  - ### setCharset

    public CharSequenceInputStream.Builder setCharset(Charset charset)
    Description copied from class: `AbstractStreamBuilder`
    Sets the Charset.

    Subclasses may ignore this setting.

    Overrides:
      `setCharset` in class `AbstractStreamBuilder<CharSequenceInputStream,CharSequenceInputStream.Builder>`
    Parameters:
      `charset` - the Charset, null resets to the default.
    Returns:
      `this` instance.

  - ### setCharsetEncoder

    public CharSequenceInputStream.Builder setCharsetEncoder(CharsetEncoder newEncoder)
    Sets the charset encoder. Assumes that the caller has configured the encoder.
    Parameters:
      `newEncoder` - the charset encoder.
    Returns:
      `this` instance.
    Since:
      2.13.0