Package org.grails.encoder
Class ChainedEncoder
- java.lang.Object
-
- org.grails.encoder.ChainedEncoder
-
- All Implemented Interfaces:
CodecIdentifierProvider,Encoder,StreamingEncoder
public class ChainedEncoder extends java.lang.Object implements Encoder, StreamingEncoder
-
-
Constructor Summary
Constructors Constructor Description ChainedEncoder(java.util.List<StreamingEncoder> encoders, boolean safe)ChainedEncoder(StreamingEncoder[] encoders, boolean safe)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected EncodedAppenderchainEncodersAndCachePerThread(EncodedAppender appender)protected CombinedCodecIdentifiercreateCodecIdentifier(StreamingEncoder[] encoders)static StreamingEncodercreateFor(java.util.List<StreamingEncoder> encoders)static StreamingEncodercreateFor(java.util.List<StreamingEncoder> encoders, java.lang.Boolean safe)static StreamingEncodercreateFor(StreamingEncoder[] encoders)protected EncodedAppenderdoChainEncoders(EncodedAppender appender)java.lang.Objectencode(java.lang.Object o)Encode given input objectvoidencodeToStream(Encoder thisInstance, java.lang.CharSequence source, int offset, int len, EncodedAppender appender, EncodingState encodingState)Encode and append portion of source CharSequence to the appender.CodecIdentifiergetCodecIdentifier()Gets the codec identifier information.booleanisApplyToSafelyEncoded()booleanisSafe()Checks if this encoder is XSS "safe".voidmarkEncoded(java.lang.CharSequence string)Mark this instance as encoded with this encoder in the currentEncodingStateRegistry
-
-
-
Constructor Detail
-
ChainedEncoder
public ChainedEncoder(java.util.List<StreamingEncoder> encoders, boolean safe)
-
ChainedEncoder
public ChainedEncoder(StreamingEncoder[] encoders, boolean safe)
-
-
Method Detail
-
createFor
public static StreamingEncoder createFor(StreamingEncoder[] encoders)
-
createFor
public static StreamingEncoder createFor(java.util.List<StreamingEncoder> encoders)
-
createFor
public static StreamingEncoder createFor(java.util.List<StreamingEncoder> encoders, java.lang.Boolean safe)
-
createCodecIdentifier
protected CombinedCodecIdentifier createCodecIdentifier(StreamingEncoder[] encoders)
-
getCodecIdentifier
public CodecIdentifier getCodecIdentifier()
Description copied from interface:CodecIdentifierProviderGets the codec identifier information.- Specified by:
getCodecIdentifierin interfaceCodecIdentifierProvider- Returns:
- the codec identifier information
-
encodeToStream
public void encodeToStream(Encoder thisInstance, java.lang.CharSequence source, int offset, int len, EncodedAppender appender, EncodingState encodingState) throws java.io.IOException
Description copied from interface:StreamingEncoderEncode and append portion of source CharSequence to the appender.- Specified by:
encodeToStreamin interfaceStreamingEncodersource- The source CharSequenceoffset- Offset from which to start encoding characterslen- Number of characters to encodeappender- the appender to write toencodingState- the current encoding state- Throws:
java.io.IOException- Signals that an I/O exception has occurred.
-
chainEncodersAndCachePerThread
protected EncodedAppender chainEncodersAndCachePerThread(EncodedAppender appender)
-
doChainEncoders
protected EncodedAppender doChainEncoders(EncodedAppender appender)
-
encode
public java.lang.Object encode(java.lang.Object o)
Description copied from interface:EncoderEncode given input object
-
isSafe
public boolean isSafe()
Description copied from interface:EncoderChecks if this encoder is XSS "safe". This means that after appling this encoder, the characters have been escaped and are XSS safe to be included in HTML documents.
-
isApplyToSafelyEncoded
public boolean isApplyToSafelyEncoded()
- Specified by:
isApplyToSafelyEncodedin interfaceEncoder- Returns:
trueif this this codec should be applied to a buffer part that is already encoded with a safe encoder
-
markEncoded
public void markEncoded(java.lang.CharSequence string)
Description copied from interface:EncoderMark this instance as encoded with this encoder in the currentEncodingStateRegistry- Specified by:
markEncodedin interfaceEncoder- Parameters:
string- a CharSequence to mark as encoded
-
-