/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map and specified safe * range. If {@code safeMax < safeMin} then no characters are considered safe. * * <p>If a character has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper( Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map and specified safe * range. If {@code safeMax < safeMin} then no characters are considered safe. * * <p>If a character has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper( Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map and specified safe * range. If {@code safeMax < safeMin} then no characters are considered safe. * * <p>If a character has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper( Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedUnicodeEscaper instance with the given replacement map and specified * safe range. If {@code safeMax < safeMin} then no code points are considered safe. * * <p>If a code point has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range * @param unsafeReplacement the default replacement for unsafe characters or null if no default * replacement is required */ protected ArrayBasedUnicodeEscaper( Map<Character, String> replacementMap, int safeMin, int safeMax, @Nullable String unsafeReplacement) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax, unsafeReplacement); }
/** * Creates a new ArrayBasedUnicodeEscaper instance with the given replacement map and specified * safe range. If {@code safeMax < safeMin} then no code points are considered safe. * * <p>If a code point has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range * @param unsafeReplacement the default replacement for unsafe characters or null if no default * replacement is required */ protected ArrayBasedUnicodeEscaper( Map<Character, String> replacementMap, int safeMin, int safeMax, @NullableDecl String unsafeReplacement) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax, unsafeReplacement); }
public void testNullMap() { try { ArrayBasedEscaperMap.create(null); fail("expected exception did not occur"); } catch (NullPointerException e) { // pass } }
/** * Creates a new ArrayBasedUnicodeEscaper instance with the given replacement map and specified * safe range. If {@code safeMax < safeMin} then no code points are considered safe. * * <p>If a code point has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range * @param unsafeReplacement the default replacement for unsafe characters or null if no default * replacement is required */ protected ArrayBasedUnicodeEscaper( Map<Character, String> replacementMap, int safeMin, int safeMax, @NullableDecl String unsafeReplacement) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax, unsafeReplacement); }
public void testMapLength() { Map<Character, String> map = ImmutableMap.of( 'a', "first", 'z', "last"); ArrayBasedEscaperMap fem = ArrayBasedEscaperMap.create(map); // Array length is highest character value + 1 assertEquals('z' + 1, fem.getReplacementArray().length); }
public void testEmptyMap() { Map<Character, String> map = ImmutableMap.of(); ArrayBasedEscaperMap fem = ArrayBasedEscaperMap.create(map); // Non-null array of zero length. assertEquals(0, fem.getReplacementArray().length); }
public void testMapping() { Map<Character, String> map = ImmutableMap.of( '\0', "zero", 'a', "first", 'b', "second", 'z', "last", '\uFFFF', "biggest"); ArrayBasedEscaperMap fem = ArrayBasedEscaperMap.create(map); char[][] replacementArray = fem.getReplacementArray(); // Array length is highest character value + 1 assertEquals(65536, replacementArray.length); // The final element should always be non null. assertNotNull(replacementArray[replacementArray.length - 1]); // Exhaustively check all mappings (an int index avoids wrapping). for (int n = 0; n < replacementArray.length; ++n) { char c = (char) n; if (replacementArray[n] != null) { assertEquals(map.get(c), new String(replacementArray[n])); } else { assertFalse(map.containsKey(c)); } } } }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map and specified safe * range. If {@code safeMax < safeMin} then no characters are considered safe. * * <p>If a character has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper( Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map and specified safe * range. If {@code safeMax < safeMin} then no characters are considered safe. * * <p>If a character has no mapped replacement then it is checked against the safe range. If it * lies outside that, then {@link #escapeUnsafe} is called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper( Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map * and specified safe range. If {@code safeMax < safeMin} then no characters * are considered safe. * * <p>If a character has no mapped replacement then it is checked against the * safe range. If it lies outside that, then {@link #escapeUnsafe} is * called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper(Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map * and specified safe range. If {@code safeMax < safeMin} then no characters * are considered safe. * * <p>If a character has no mapped replacement then it is checked against the * safe range. If it lies outside that, then {@link #escapeUnsafe} is * called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper(Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map * and specified safe range. If {@code safeMax < safeMin} then no characters * are considered safe. * * <p>If a character has no mapped replacement then it is checked against the * safe range. If it lies outside that, then {@link #escapeUnsafe} is * called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper(Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map * and specified safe range. If {@code safeMax < safeMin} then no characters * are considered safe. * * <p>If a character has no mapped replacement then it is checked against the * safe range. If it lies outside that, then {@link #escapeUnsafe} is * called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper(Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
/** * Creates a new ArrayBasedCharEscaper instance with the given replacement map * and specified safe range. If {@code safeMax < safeMin} then no characters * are considered safe. * * <p>If a character has no mapped replacement then it is checked against the * safe range. If it lies outside that, then {@link #escapeUnsafe} is * called, otherwise no escaping is performed. * * @param replacementMap a map of characters to their escaped representations * @param safeMin the lowest character value in the safe range * @param safeMax the highest character value in the safe range */ protected ArrayBasedCharEscaper(Map<Character, String> replacementMap, char safeMin, char safeMax) { this(ArrayBasedEscaperMap.create(replacementMap), safeMin, safeMax); }
public void testNullMap() { try { ArrayBasedEscaperMap.create(null); fail("expected exception did not occur"); } catch (NullPointerException e) { // pass } }
public void testEmptyMap() { Map<Character, String> map = ImmutableMap.of(); ArrayBasedEscaperMap fem = ArrayBasedEscaperMap.create(map); // Non-null array of zero length. assertEquals(0, fem.getReplacementArray().length); }
public void testMapLength() { Map<Character, String> map = ImmutableMap.of( 'a', "first", 'z', "last"); ArrayBasedEscaperMap fem = ArrayBasedEscaperMap.create(map); // Array length is highest character value + 1 assertEquals('z' + 1, fem.getReplacementArray().length); }