package jp.aonir.fuzzyxml.internal;
public class CSSStyleSheetFormatter {
// private final CSSStyleSheet _styleSheet;
// private final FuzzyXMLElement _style;
//
// public CSSStyleSheetFormatter(CSSStyleSheet css) {
// _styleSheet = css;
//
// }
// public CSSStyleSheetFormatter(String data) {
// this(parseCSS(data));
// _stylesheet = data;
// System.out.println("Stylesheet = " + data);
// }
//
// public CSSStyleSheetFormatter(FuzzyXMLElement style) {
// _style = style;
// }
//
// private static CSSStyleSheet parseCSS(String data) throws IOException {
// CSSStyleSheet styleSheet = new CSSStyleSheetImpl();
// CSSOMParser parser = new CSSOMParser();
// InputSource is = new InputSource(new StringReader(data));
// styleSheet = parser.parseStyleSheet(is);
// return styleSheet;
// }
//
// public String toCSSString() {
// StringBuffer stringbuffer = new StringBuffer();
// RenderContext renderContext = new RenderContext(true);
// renderContext.setIndent(1);
// renderContext.setIndentSize(2);
// _style.toXMLString(renderContext, stringbuffer);
// return stringbuffer.toString();
// }
//
// public void toCSSString(RenderContext renderContext, StringBuffer cssBuffer) {
// StringBuffer stringbuffer = new StringBuffer();
// _style.toXMLString(renderContext, stringbuffer);
// String value = stringbuffer.toString().replaceFirst("^[\r\t ]*\n", "").replaceAll("\n[\r\t ]*$", "\n").replaceAll("\t"," ");
// StringBuffer indent = new StringBuffer();
// renderContext.appendIndent(indent);
//
// Pattern pattern = Pattern.compile("^[^\\s]", Pattern.MULTILINE);
// while (value.length() > 0 && !pattern.matcher(value).find()) {
// value = value.replaceAll("^ ", "").replaceAll("\n ", "\n");
// }
// value = value.replaceAll("(\n)(.+)", "$1" + indent + "$2");
// cssBuffer.append(value);
// }
//
//
//public toCSSString(RenderContext renderContext, StringBuffer cssBuffer) {
// CSSRuleList rules = _styleSheet.getCssRules();
// for(int i = 0; i < rules.getLength(); i++) {
// CSSStyleRuleImpl rule = (CSSStyleRuleImpl)rules.item(i);
// CSSStyleDeclaration cssDecl = rule.getStyle();
// int length = cssDecl.getLength();
//
// if (i > 0) {
// cssBuffer.append("\n");
// renderContext.appendIndent(cssBuffer);
// }
//
// cssBuffer.append(rule.getSelectorText()).append(" {");
// if (length > 1) {
// cssBuffer.append("\n");
// }
// renderContext.indent();
// for (int j = 0; j < cssDecl.getLength(); j++) {
// String item = cssDecl.item(j);
//
// if (length > 1)
// renderContext.appendIndent(cssBuffer);
// else
// cssBuffer.append(" ");
// cssBuffer.append(item).append(": ").append(cssDecl.getPropertyValue(item));
// /* Q: The last line doesn't really need a semicolon
// * but the syntax highlighting expects it
// */
// if (true || j < length - 1)
// cssBuffer.append(";");
// if (length > 1)
// cssBuffer.append("\n");
// else
// cssBuffer.append(" ");
// }
// renderContext.outdent();
// if (length > 1) {
// renderContext.appendIndent(cssBuffer);
// }
// cssBuffer.append("}");
// cssBuffer.append("\n");
// }
// return cssBuffer.toString();
//}
}