public final class HTMLEncoder
extends java.lang.Object
org.owasp.esapi.Encoder,
org.owasp.esapi.reference.DefaultEncoder,
org.owasp.esapi.codecs.HTMLEntityCodec| Modifier and Type | Field and Description |
|---|---|
private static java.util.Map<java.lang.Character,java.lang.String> |
CHARACTER_TO_ENTITY_MAP
Map from entity character to name.
|
private static java.lang.String[] |
HEX
Initialize an array to mark which characters are to be encoded.
|
static char[] |
IMMUNE_HTML
Character set immune from HTML encoding.
|
static char[] |
IMMUNE_HTMLATTR
Character set immune from HTML attribute encoding.
|
static char |
REPLACEMENT_CHAR
Character to replace illegal characters.
|
static java.lang.String |
REPLACEMENT_HEX
Hex to replace illegal characters.
|
| Modifier | Constructor and Description |
|---|---|
private |
HTMLEncoder()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
containsCharacter(char c,
char[] array)
Utility to search a char[] for a specific char.
|
private static java.lang.String |
encode(char[] immune,
java.lang.String input)
Encode a string for safe use in an HTML entity field.
|
private static java.lang.String |
encodeCharacter(char[] immune,
java.lang.Character toEncode)
Encodes a character for safe use in an HTML entity field.
|
static java.lang.String |
encodeForHTML(java.lang.String input)
Encode data for use in HTML using HTML entity encoding
|
static java.lang.String |
encodeForHTMLAttribute(java.lang.String input)
Encode data for use in HTML attributes.
|
private static java.lang.String |
getHexForNonAlphanumeric(char c)
Lookup the hex value of any character that is not alphanumeric.
|
private static java.util.Map<java.lang.Character,java.lang.String> |
mkCharacterToEntityMap()
Build an unmodifiable map from entity character to name.
|
@Nonnull public static final char[] IMMUNE_HTML
@Nonnull public static final char[] IMMUNE_HTMLATTR
@Nonnull public static final char REPLACEMENT_CHAR
@Nonnull public static final java.lang.String REPLACEMENT_HEX
@Nonnull private static final java.util.Map<java.lang.Character,java.lang.String> CHARACTER_TO_ENTITY_MAP
@Nonnull private static final java.lang.String[] HEX
@Nullable
public static java.lang.String encodeForHTML(@Nullable
java.lang.String input)
Note that the following characters: 00-08, 0B-0C, 0E-1F, and 7F-9F
cannot be used in HTML.
input - the text to encode for HTML@Nullable
public static java.lang.String encodeForHTMLAttribute(@Nullable
java.lang.String input)
input - the text to encode for an HTML attribute@Nonnull
private static java.lang.String encode(@Nonnull
char[] immune,
@Nonnull
java.lang.String input)
immune - characters immune from encodinginput - the string to encode@Nonnull
private static java.lang.String encodeCharacter(@Nonnull
char[] immune,
@Nonnull
java.lang.Character toEncode)
immune - characters immune from encodingtoEncode - the character to encode@Nonnull
private static java.lang.String getHexForNonAlphanumeric(@Nonnull
char c)
c - the character to lookup.private static boolean containsCharacter(@Nonnull
char c,
@Nonnull
char[] array)
c - the chararray - the array@Nonnull private static java.util.Map<java.lang.Character,java.lang.String> mkCharacterToEntityMap()