// Path: src/main/java/com/cadrlife/jhaml/filters/CdataFilter.java
// public class CdataFilter extends Filter {
// 
// 	public CdataFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return "<![CDATA[\n" + trimEnd(indent(input,JHamlConfig.OUTPUT_INDENTATION_SIZE))
// 				+ "\n]]>";
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/CssFilter.java
// public class CssFilter extends Filter {
// 
// 	public CssFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return "<style type='text/css'>\n" + 
// 		"<!--\n" + 
// 		indent(trimEnd(input), JHamlConfig.OUTPUT_INDENTATION_SIZE) + "\n" + 
// 		"-->\n" + 
// 		"</style>";
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/EscapedFilter.java
// public class EscapedFilter extends Filter {
// 
// 	public EscapedFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return trimEnd(indent(StringEscapeUtils.escapeHtml(input),0));
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/Filter.java
// public abstract class Filter {
// 	protected final JHamlConfig config;
// 
// 	public Filter(JHamlConfig config) {
// 		this.config = config;
// 	}
// 	
// 	public abstract String process(String input);
// 	
// 	protected String indent(String text, int amount) {
// 		return IndentUtils.indent(text, amount);
// 	}
// 	
// 	protected String trimEnd(String string) {
// 		return CharMatcher.WHITESPACE.trimTrailingFrom(string);
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/JavaScriptFilter.java
// public class JavaScriptFilter extends Filter {
// 
// 	public JavaScriptFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return "<script type='text/javascript'>\n" + 
// 		"  //<![CDATA[\n" + 
// 		indent(trimEnd(input), 4) + "\n" + 
// 		"  //]]>\n" + 
// 		"</script>";
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/JspFilter.java
// public class JspFilter extends Filter {
// 
// 	public JspFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return new PlainFilter(config).process(input);
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/MarkdownFilter.java
// public class MarkdownFilter extends Filter {
// 
// 	private MarkdownProcessor markdownProcessor = new MarkdownProcessor();
// 
// 	public MarkdownFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return markdownProcessor.markdown(input);
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/PlainFilter.java
// public class PlainFilter extends Filter {
// 
// 	public PlainFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return input;
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/PreserveFilter.java
// public class PreserveFilter extends Filter {
// 
// 	public PreserveFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		String normalizedInput = trimEnd(indent(input,-JHamlConfig.OUTPUT_INDENTATION_SIZE));
// 		return normalizedInput.replaceAll("\n", "&#x000A;");
// 	}
// 
// }


import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.cadrlife.jhaml.filters.CdataFilter;
import com.cadrlife.jhaml.filters.CssFilter;
import com.cadrlife.jhaml.filters.EscapedFilter;
import com.cadrlife.jhaml.filters.Filter;
import com.cadrlife.jhaml.filters.JavaScriptFilter;
import com.cadrlife.jhaml.filters.JspFilter;
import com.cadrlife.jhaml.filters.MarkdownFilter;
import com.cadrlife.jhaml.filters.PlainFilter;
import com.cadrlife.jhaml.filters.PreserveFilter;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;

package com.cadrlife.jhaml;



public class JHamlConfig {
	public static final int OUTPUT_INDENTATION_SIZE = 2;
	public static final ImmutableList<String> validFormats = ImmutableList.of("xhtml","html4","html5");
	public String format = "xhtml";
	public List<String> autoclose = Lists.newArrayList("meta", "img", "link", "br", "hr", "input", "area", "param", "col", "base");
	public List<String> preserve = Lists.newArrayList("textarea", "pre");
	public String attrWrapper = "'";
	

// Path: src/main/java/com/cadrlife/jhaml/filters/CdataFilter.java
// public class CdataFilter extends Filter {
// 
// 	public CdataFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return "<![CDATA[\n" + trimEnd(indent(input,JHamlConfig.OUTPUT_INDENTATION_SIZE))
// 				+ "\n]]>";
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/CssFilter.java
// public class CssFilter extends Filter {
// 
// 	public CssFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return "<style type='text/css'>\n" + 
// 		"<!--\n" + 
// 		indent(trimEnd(input), JHamlConfig.OUTPUT_INDENTATION_SIZE) + "\n" + 
// 		"-->\n" + 
// 		"</style>";
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/EscapedFilter.java
// public class EscapedFilter extends Filter {
// 
// 	public EscapedFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return trimEnd(indent(StringEscapeUtils.escapeHtml(input),0));
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/Filter.java
// public abstract class Filter {
// 	protected final JHamlConfig config;
// 
// 	public Filter(JHamlConfig config) {
// 		this.config = config;
// 	}
// 	
// 	public abstract String process(String input);
// 	
// 	protected String indent(String text, int amount) {
// 		return IndentUtils.indent(text, amount);
// 	}
// 	
// 	protected String trimEnd(String string) {
// 		return CharMatcher.WHITESPACE.trimTrailingFrom(string);
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/JavaScriptFilter.java
// public class JavaScriptFilter extends Filter {
// 
// 	public JavaScriptFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return "<script type='text/javascript'>\n" + 
// 		"  //<![CDATA[\n" + 
// 		indent(trimEnd(input), 4) + "\n" + 
// 		"  //]]>\n" + 
// 		"</script>";
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/JspFilter.java
// public class JspFilter extends Filter {
// 
// 	public JspFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return new PlainFilter(config).process(input);
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/MarkdownFilter.java
// public class MarkdownFilter extends Filter {
// 
// 	private MarkdownProcessor markdownProcessor = new MarkdownProcessor();
// 
// 	public MarkdownFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return markdownProcessor.markdown(input);
// 	}
// 
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/PlainFilter.java
// public class PlainFilter extends Filter {
// 
// 	public PlainFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		return input;
// 	}
// }
// 
// Path: src/main/java/com/cadrlife/jhaml/filters/PreserveFilter.java
// public class PreserveFilter extends Filter {
// 
// 	public PreserveFilter(JHamlConfig config) {
// 		super(config);
// 	}
// 
// 	@Override
// 	public String process(String input) {
// 		String normalizedInput = trimEnd(indent(input,-JHamlConfig.OUTPUT_INDENTATION_SIZE));
// 		return normalizedInput.replaceAll("\n", "&#x000A;");
// 	}
// 
// }


// Path: src/main/java/com/cadrlife/jhaml/JHamlConfig.java
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.cadrlife.jhaml.filters.CdataFilter;
import com.cadrlife.jhaml.filters.CssFilter;
import com.cadrlife.jhaml.filters.EscapedFilter;
import com.cadrlife.jhaml.filters.Filter;
import com.cadrlife.jhaml.filters.JavaScriptFilter;
import com.cadrlife.jhaml.filters.JspFilter;
import com.cadrlife.jhaml.filters.MarkdownFilter;
import com.cadrlife.jhaml.filters.PlainFilter;
import com.cadrlife.jhaml.filters.PreserveFilter;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;

package com.cadrlife.jhaml;



public class JHamlConfig {
	public static final int OUTPUT_INDENTATION_SIZE = 2;
	public static final ImmutableList<String> validFormats = ImmutableList.of("xhtml","html4","html5");
	public String format = "xhtml";
	public List<String> autoclose = Lists.newArrayList("meta", "img", "link", "br", "hr", "input", "area", "param", "col", "base");
	public List<String> preserve = Lists.newArrayList("textarea", "pre");
	public String attrWrapper = "'";
	

	public Map<String,Filter> filters = new HashMap<String,Filter>();
