/** * Escape XML characters with a user specified transformation policy for invalid characters. * * @since 3.19 / 3.10.1 */ public static String escape(final char ch, final TransformPolicy policy) { final StringBuilder sb = new StringBuilder(); transform(sb, ch, policy); return sb.toString(); }
/** * Escape XML character with a user specified transformation policy for invalid characters. * * @since 6.0 */ public static String escape(final int codePoint, final TransformPolicy policy) { final StringBuilder sb = new StringBuilder(); transform(sb, codePoint, policy); return sb.toString(); }
/** * Escape XML characters with a user specified transformation policy for invalid characters. * * @deprecated use {@link com.atlassian.core.util.XMLUtils#escape(int, TransformPolicy)} instead * @since 3.19 / 3.10.1 */ @Deprecated public static String escape(final char ch, final TransformPolicy policy) { final StringBuilder sb = new StringBuilder(); transform(sb, ch, policy); return sb.toString(); }
/** * Escapes a string so it may be returned as text content or attribute value. Non printable characters are escaped * using character references. Where the format specifies a deault entity reference, that reference is used (e.g. * <tt>&lt;</tt>). * * @param source the string to escape or "" for null. * @param policy how to handle invalid XML characters * @since 3.19 / 3.10.1 */ public static String escape(final String source, final TransformPolicy policy) { if (source == null) { return ""; } StringBuilder sb = new StringBuilder(source.length() + 30); // lets allocate a StringBuilder that is roughly the same length for (int i = 0; i < source.length(); ++i) { transform(sb, source.charAt(i), policy); } return sb.toString(); }
/** * Escapes a string so it may be returned as text content or attribute value. Non printable characters are escaped * using character references. Where the format specifies a deault entity reference, that reference is used (e.g. * <tt>&lt;</tt>). * * @param source the string to escape or "" for null. * @param policy how to handle invalid XML characters * @since 3.19 / 3.10.1 */ public static String escape(final String source, final TransformPolicy policy) { if (source == null) { return ""; } StringBuilder sb = new StringBuilder(source.length() + 30); // lets allocate a StringBuilder that is roughly the same length source.codePoints().forEach(codePoint -> transform(sb, codePoint, policy)); return sb.toString(); }