Interface EncodingStateRegistry

  • All Known Implementing Classes:
    DefaultEncodingStateRegistry

    public 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.
    Since:
    2.3
    • Method Detail

      • getEncodingStateFor

        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
      • shouldEncodeWith

        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
      • isEncodedWith

        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
      • registerEncodedWith

        void registerEncodedWith​(Encoder encoder,
                                 java.lang.CharSequence escaped)
        Registers that the CharSequence has been encoded with encoder
        Parameters:
        encoder - the encoder
        escaped - the CharSequence