Module swim.codec
Package swim.codec

Class Utf8

java.lang.Object
swim.codec.Utf8

public final class Utf8 extends Object
UTF-8 Input/Output factory.
  • Method Details

    • decodedInput

      public static Input decodedInput(Input input, UtfErrorMode errorMode)
    • decodedInput

      public static Input decodedInput(Input input)
    • decodedInput

      public static Input decodedInput(String input, UtfErrorMode errorMode)
    • decodedInput

      public static Input decodedInput(String input)
    • decodedOutput

      public static <T> Output<T> decodedOutput(Output<T> output, UtfErrorMode errorMode)
      Returns a new Output that accepts UTF-8 code unit sequences, and writes decoded Unicode code points to the composed output, handling invalid code unit sequences according to the errorMode policy.
    • decodedOutput

      public static <T> Output<T> decodedOutput(Output<T> output)
      Returns a new Output that accepts UTF-8 code unit sequences, and writes decoded Unicode code points to the composed output, handling invalid code unit sequences according to the UtfErrorMode.fatal() policy.
    • decodedString

      public static Output<String> decodedString()
      Returns a new Output that accepts UTF-8 code unit sequences, and writes decoded Unicode code points to a growable String, handling invalid code unit sequences according to the UtfErrorMode.fatal() policy. The returned Output accepts an unbounded number of UTF-8 code units, remaining permanently in the cont state, and binds a String containing all decoded code points.
    • encodedOutput

      public static <T> Output<T> encodedOutput(Output<T> output, UtfErrorMode errorMode)
    • encodedOutput

      public static <T> Output<T> encodedOutput(Output<T> output)
    • stringParser

      public static Parser<String> stringParser(StringBuilder builder, UtfErrorMode errorMode)
    • stringParser

      public static Parser<String> stringParser(StringBuilder builder)
    • stringParser

      public static Parser<String> stringParser(UtfErrorMode errorMode)
    • stringParser

      public static Parser<String> stringParser()
    • parseString

      public static Parser<String> parseString(Input input, StringBuilder builder, UtfErrorMode errorMode)
    • parseString

      public static Parser<String> parseString(Input input, StringBuilder builder)
    • parseString

      public static Parser<String> parseString(Input input, UtfErrorMode errorMode)
    • parseString

      public static Parser<String> parseString(Input input)
    • stringWriter

      public static <I, O> Writer<I,O> stringWriter(O input, UtfErrorMode errorMode)
    • stringWriter

      public static <I, O> Writer<I,O> stringWriter(O input)
    • writeString

      public static <O> Writer<?,O> writeString(Output<?> output, O input, UtfErrorMode errorMode)
    • writeString

      public static <O> Writer<?,O> writeString(Output<?> output, O input)
    • outputDecoder

      public static <O> Decoder<O> outputDecoder(Output<O> output, UtfErrorMode errorMode)
      Returns a new Decoder that writes decoded Unicode code points to the given output, handling invalid code unit sequences according to the errorMode policy.
    • outputDecoder

      public static <O> Decoder<O> outputDecoder(Output<O> output)
      Returns a new Decoder that writes decoded Unicode code points to the given output, handling invalid code unit sequences according to the UtfErrorMode.fatal() policy.
    • decodeOutput

      public static <O> Decoder<O> decodeOutput(InputBuffer input, Output<O> output, UtfErrorMode errorMode)
      Writes the decoded Unicode code points of the input buffer to the given output, returning a Decoder continuation that knows how to decode subsequent input buffers. Handles invalid code unit sequences according to the errorMode policy.
    • decodeOutput

      public static <O> Decoder<O> decodeOutput(Input input, Output<O> output)
      Writes the decoded Unicode code points of the input buffer to the given output, returning a Decoder continuation that knows how to decode subsequent input buffers. Handles invalid code unit sequences according to the UtfErrorMode.fatal() policy.
    • decodedParser

      public static <O> Parser<O> decodedParser(Parser<O> parser, UtfErrorMode errorMode)
    • decodedParser

      public static <O> Parser<O> decodedParser(Parser<O> parser)
    • parseDecoded

      public static <O> Parser<O> parseDecoded(Input input, Parser<O> parser, UtfErrorMode errorMode)
    • parseDecoded

      public static <O> Parser<O> parseDecoded(Input input, Parser<O> parser)
    • encodedWriter

      public static <I, O> Writer<I,O> encodedWriter(Writer<I,O> writer, UtfErrorMode errorMode)
    • encodedWriter

      public static <I, O> Writer<I,O> encodedWriter(Writer<I,O> writer)
    • writeEncoded

      public static <I, O> Writer<I,O> writeEncoded(Output<?> output, Writer<I,O> writer, UtfErrorMode errorMode)
    • writeEncoded

      public static <I, O> Writer<I,O> writeEncoded(Output<?> output, Writer<I,O> writer)
    • decode

      public static <O> Decoder<O> decode(InputStream input, Parser<O> parser) throws IOException
      Throws:
      IOException
    • read

      public static <O> O read(InputStream input, Parser<O> parser) throws IOException
      Throws:
      IOException
    • sizeOf

      public static int sizeOf(int c, UtfErrorMode errorMode)
      Returns the number of bytes in the UTF-8 encoding of the Unicode code point c, handling invalid code unit sequences according to the errorMode policy. Returns the size of the UtfErrorMode.replacementChar() for surrogates and invalid code points, if UtfErrorMode.isReplacement() is `true`; otherwise returns `0` for surrogates and invalid code points. Uses the two byte modified UTF-8 encoding of the NUL character (U+0000), if UtfErrorMode.isNonZero() is `true`.
    • sizeOf

      public static int sizeOf(int c)
      Returns the number of bytes in the UTF-8 encoding of the Unicode code point c; returns the size of the Unicode replacement character (U+FFFD) for surrogates and invalid code points.
    • sizeOf

      public static int sizeOf(String string, UtfErrorMode errorMode)
      Returns the number of bytes in the UTF-8 encoding the given string, handling invalid code unit sequences according to the errorMode policy.
    • sizeOf

      public static int sizeOf(String string)
      Returns the number of bytes in the UTF-8 encoding the given string, assuming the Unicode replacement character (U+FFFD) replaces unpaired surrogates and invalid code points.