Escapers
Date: 2016-05-24

com.google.common.escape

## Class Escapers

- java.lang.Object
- - com.google.common.escape.Escapers

-     @Beta
      @GwtCompatible
      public final class Escapers
      extends java.lang.Object

  Static utility methods pertaining to `Escaper` instances.
  Since:
    15.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Escapers.Builder` A builder for simple, fast escapers.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Escapers.Builder` | `builder()` Returns a builder for creating simple, fast escapers.
    `static java.lang.String` | `computeReplacement(CharEscaper escaper, char c)` Returns a string that would replace the given character in the specified escaper, or `null` if no replacement should be made.
    `static java.lang.String` | `computeReplacement(UnicodeEscaper escaper, int cp)` Returns a string that would replace the given character in the specified escaper, or `null` if no replacement should be made.
    `static Escaper` | `nullEscaper()` Returns an `Escaper` that does no escaping, passing all character data through unchanged.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### nullEscaper

          public static Escaper nullEscaper()

      Returns an `Escaper` that does no escaping, passing all character data through unchanged.

    - #### builder

          public static Escapers.Builder builder()

      Returns a builder for creating simple, fast escapers. A builder instance can be reused and each escaper that is created will be a snapshot of the current builder state. Builders are not thread safe.

      The initial state of the builder is such that:

      - There are no replacement mappings
      - `safeMin == Character.MIN_VALUE`
      - `safeMax == Character.MAX_VALUE`
      - `unsafeReplacement == null`

      For performance reasons escapers created by this builder are not Unicode aware and will not validate the well-formedness of their input.

    - #### computeReplacement

          public static java.lang.String computeReplacement(CharEscaper escaper,
                                            char c)

      Returns a string that would replace the given character in the specified escaper, or `null` if no replacement should be made. This method is intended for use in tests through the `EscaperAsserts` class; production users of `CharEscaper` should limit themselves to its public interface.
      Parameters:
        `c` - the character to escape if necessary
      Returns:
        the replacement string, or `null` if no escaping was needed

    - #### computeReplacement

          public static java.lang.String computeReplacement(UnicodeEscaper escaper,
                                            int cp)

      Returns a string that would replace the given character in the specified escaper, or `null` if no replacement should be made. This method is intended for use in tests through the `EscaperAsserts` class; production users of `UnicodeEscaper` should limit themselves to its public interface.
      Parameters:
        `cp` - the Unicode code point to escape if necessary
      Returns:
        the replacement string, or `null` if no escaping was needed