Class BOMInputStream.Builder

  • All Implemented Interfaces:
    IOSupplier<BOMInputStream>
    Enclosing class:
    BOMInputStream

    public static class BOMInputStream.Builder
    extends AbstractStreamBuilder<BOMInputStream,​BOMInputStream.Builder>
    Builds a new BOMInputStream instance.

    Using NIO

    
     BOMInputStream s = BOMInputStream.builder()
       .setPath(Paths.get("MyFile.xml"))
       .setByteOrderMarks(ByteOrderMark.UTF_8)
       .setInclude(false)
       .get();
     

    Using IO

    
     BOMInputStream s = BOMInputStream.builder()
       .setFile(new File("MyFile.xml"))
       .setByteOrderMarks(ByteOrderMark.UTF_8)
       .setInclude(false)
       .get();
     
    Since:
    2.12.0
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • get

        public BOMInputStream get()
                           throws java.io.IOException
        Constructs a new instance.

        This builder use the aspects InputStream, OpenOption[], include, and ByteOrderMark[].

        You must provide an origin that can be converted to an InputStream by this builder, otherwise, this call will throw an UnsupportedOperationException.

        Returns:
        a new instance.
        Throws:
        java.lang.UnsupportedOperationException - if the origin cannot provide an InputStream.
        java.io.IOException - if an I/O error occurs.
        See Also:
        AbstractStreamBuilder.getInputStream()
      • setByteOrderMarks

        public BOMInputStream.Builder setByteOrderMarks​(ByteOrderMark... byteOrderMarks)
        Sets the ByteOrderMarks to detect and optionally exclude.

        The default is ByteOrderMark.UTF_8.

        Parameters:
        byteOrderMarks - the ByteOrderMarks to detect and optionally exclude.
        Returns:
        this
      • setInclude

        public BOMInputStream.Builder setInclude​(boolean include)
        Sets whether to include the UTF-8 BOM (true) or to exclude it (false).

        The default is false.

        Parameters:
        include - true to include the UTF-8 BOM or false to exclude it. return this;
        Returns:
        this