Package: org.grails.encoder

## [Java] Interface EncodingStateRegistry

- EncodingStateRegistry keeps encoding state of CharSequence instances. Encoding state information is required for the solution that prevents double-encoding a value that is already encoded. In the current implementation, a single EncodingStateRegistry instance is bound to a HTTP request life cycle.

  Authors:
    Lari Hotari
  Since:
    2.3

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `EncodingState` | `getEncodingStateFor(java.lang.CharSequence string)` Gets the current encoding state for a CharSequence.
    `` | `boolean` | `isEncodedWith(Encoder encoder, java.lang.CharSequence string)` Checks if the CharSequence is encoded with encoder.
    `` | `void` | `registerEncodedWith(Encoder encoder, java.lang.CharSequence escaped)` Registers that the CharSequence has been encoded with encoder
    `` | `boolean` | `shouldEncodeWith(Encoder encoderToApply, java.lang.CharSequence string)` Checks if a encoder should be applied to a CharSequence

- - ### Method Detail

    - #### public EncodingState getEncodingStateFor(java.lang.CharSequence string)

      Gets the current encoding state for a CharSequence.

      Parameters:
        `string` - a CharSequence
      Returns:
        the encoding state for the CharSequence

    - #### public boolean isEncodedWith(Encoder encoder, java.lang.CharSequence string)

      Checks if the CharSequence is encoded with encoder.

      Parameters:
        `encoder` - the encoder
        `string` - a CharSequence
      Returns:
        true, if it is encoded with encoder

    - #### public void registerEncodedWith(Encoder encoder, java.lang.CharSequence escaped)

      Registers that the CharSequence has been encoded with encoder

      Parameters:
        `encoder` - the encoder
        `escaped` - the CharSequence

    - #### public boolean shouldEncodeWith(Encoder encoderToApply, java.lang.CharSequence string)

      Checks if a encoder should be applied to a CharSequence

      Parameters:
        `encoderToApply` - the encoder to apply
        `string` - a CharSequence
      Returns:
        true, if it should be applied