package com.cognifide.cq.includefilter.generator.types; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Service; import com.cognifide.cq.includefilter.generator.IncludeGenerator; /** * Apache SSI include generator * * @author tomasz.rekawek * */ @Component @Service public class SsiGenerator implements IncludeGenerator { private static final String GENERATOR_NAME = "SSI"; @Override public String getType() { return GENERATOR_NAME; } @Override public String getInclude(String url) { StringBuffer buf = new StringBuffer(); buf.append("<!--#include virtual=\""); buf.append(escapeForApache(url)); buf.append("\" -->"); return buf.toString(); } /** * Escapes $ to \$ * * @param url url to escape * @return escaped url */ private Object escapeForApache(String url) { return url.replace("$", "\\$"); } }