Class Escapers.Builder

  • Enclosing class:
    Escapers

    @Beta
    public static final class Escapers.Builder
    extends Object
    A builder for simple, fast escapers.

    Typically an escaper needs to deal with the escaping of high valued characters or code points. In these cases it is necessary to extend either ArrayBasedCharEscaper or ArrayBasedUnicodeEscaper to provide the desired behavior. However this builder is suitable for creating escapers that replace a relative small set of characters.

    Since:
    15.0
    Author:
    David Beaumont
    • Method Detail

      • setSafeRange

        @CanIgnoreReturnValue
        public Escapers.Builder setSafeRange​(char safeMin,
                                             char safeMax)
        Sets the safe range of characters for the escaper. Characters in this range that have no explicit replacement are considered 'safe' and remain unescaped in the output. If safeMax < safeMin then the safe range is empty.
        Parameters:
        safeMin - the lowest 'safe' character
        safeMax - the highest 'safe' character
        Returns:
        the builder instance
      • setUnsafeReplacement

        @CanIgnoreReturnValue
        public Escapers.Builder setUnsafeReplacement​(@NullableDecl
                                                     String unsafeReplacement)
        Sets the replacement string for any characters outside the 'safe' range that have no explicit replacement. If unsafeReplacement is null then no replacement will occur, if it is "" then the unsafe characters are removed from the output.
        Parameters:
        unsafeReplacement - the string to replace unsafe characters
        Returns:
        the builder instance
      • addEscape

        @CanIgnoreReturnValue
        public Escapers.Builder addEscape​(char c,
                                          String replacement)
        Adds a replacement string for the given input character. The specified character will be replaced by the given string whenever it occurs in the input, irrespective of whether it lies inside or outside the 'safe' range.
        Parameters:
        c - the character to be replaced
        replacement - the string to replace the given character
        Returns:
        the builder instance
        Throws:
        NullPointerException - if replacement is null
      • build

        public Escaper build()
        Returns a new escaper based on the current state of the builder.