com.fasterxml.jackson.core.JsonpCharacterEscapes Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redisson-all Show documentation
Show all versions of redisson-all Show documentation
Easy Redis Java client and Real-Time Data Platform. Valkey compatible. Sync/Async/RxJava3/Reactive API. Client side caching. Over 50 Redis based Java objects and services: JCache API, Apache Tomcat, Hibernate, Spring, Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Scheduler, RPC
package com.fasterxml.jackson.core;
import com.fasterxml.jackson.core.io.CharacterEscapes;
import com.fasterxml.jackson.core.io.SerializedString;
/**
* Convenience {@link CharacterEscapes} implementation that escapes
* Unicode characters `0x2028` and `0x2029` (in addition to characters
* escaped otherwise), which are apparently considered linefeeds as
* per newer Javascript specifications, and consequently problematic
* when using JSONP (see https://en.wikipedia.org/wiki/JSONP).
*
* @since 2.8
*/
public class JsonpCharacterEscapes extends CharacterEscapes
{
private static final long serialVersionUID = 1L;
private static final int[] asciiEscapes = CharacterEscapes.standardAsciiEscapesForJSON();
private static final SerializedString escapeFor2028 = new SerializedString("\\u2028");
private static final SerializedString escapeFor2029 = new SerializedString("\\u2029");
private static final JsonpCharacterEscapes sInstance = new JsonpCharacterEscapes();
public static JsonpCharacterEscapes instance() {
return sInstance;
}
@Override
public SerializableString getEscapeSequence(int ch)
{
switch (ch) {
case 0x2028:
return escapeFor2028;
case 0x2029:
return escapeFor2029;
default:
return null;
}
}
@Override
public int[] getEscapeCodesForAscii() {
return asciiEscapes;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy