XmlString(CharSource inputXml) { prettyString = Suppliers.memoize(() -> prettyPrintXml(inputXml)); }
@Override public CharSequence subSequence(int start, int end) { return toString().subSequence(start, end); }
/** * Prettifies given XML String. * * @param xml input XML * @return prettified input or input itself is input is not well-formed */ public static CharSequence prettifyXml(CharSequence xml) { return new XmlString(CharSource.wrap(xml)); }
@Override protected void doExecute() { try { String xmlS = CharStreams.toString(new InputStreamReader(System.in)); print("%s", XmlString.prettifyXml(xmlS)); } catch (IOException e) { log.error("Failed parsing XML.", e); print("%s", e); } }
@Override public int length() { return toString().length(); }
@Override public char charAt(int index) { return toString().charAt(index); }