com.samskivert.mustache.Escapers Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jmustache Show documentation
Show all versions of jmustache Show documentation
A Java implementation of the Mustache templating language.
//
// JMustache - A Java implementation of the Mustache templating language
// http://github.com/samskivert/jmustache/blob/master/LICENSE
package com.samskivert.mustache;
/**
* Defines some standard {@link Mustache.Escaper}s.
*/
public class Escapers
{
/** Escapes HTML entities. */
public static final Mustache.Escaper HTML = simple(new String[][] {
{ "&", "&" },
{ "'", "'" },
{ "\"", """ },
{ "<", "<" },
{ ">", ">" },
{ "`", "`" },
{ "=", "=" }
});
/** An escaper that does no escaping. */
public static final Mustache.Escaper NONE = new Mustache.Escaper() {
@Override public String escape (String text) {
return text;
}
};
/** Returns an escaper that replaces a list of text sequences with canned replacements.
* @param repls a list of {@code (text, replacement)} pairs. */
public static Mustache.Escaper simple (final String[]... repls) {
return new Mustache.Escaper() {
@Override public String escape (String text) {
for (String[] escape : repls) {
text = text.replace(escape[0], escape[1]);
}
return text;
}
};
}
}