src/main/java/com/sleekbyte/tailor/common/RuleExamples.java
package com.sleekbyte.tailor.common;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.Scanner;
/**
* Helper to retrieve rule examples.
*/
public class RuleExamples {
private static final String MARKDOWN_EXT = ".md";
private static final String BEGINNING_OF_INPUT_PATTERN = "\\A";
/**
* Load rule examples for a given rule from Markdown documentation.
* @param rule name of the rule for which to load documentation
* @return Markdown documentation for a given rule
*/
public static String get(String rule) {
InputStream in = Rules.class.getResourceAsStream(rule + MARKDOWN_EXT);
return in == null ? "" :
new Scanner(in, Charset.defaultCharset().name()).useDelimiter(BEGINNING_OF_INPUT_PATTERN).next();
}
}