All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.samskivert.mustache.Escapers Maven / Gradle / Ivy

There is a newer version: 1.16
Show newest version
//
// 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;
            }
        };
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy