package marubinotto.piggydb.ui.wiki;
import marubinotto.piggydb.model.Fragment;
public interface DocumentBuilder {
//
// Block
//
public void breakBlocks(ParseContext context);
public void startSection(
ParseContext context,
int level,
String title);
public void appendToParagraph(ParseContext context, String line);
public void appendToPreformattedText(ParseContext context, String line);
public void putHorizontalRule(ParseContext context);
public void appendToBlockquote(
ParseContext context,
int level,
String line);
public void addUnorderedListElement(
ParseContext context,
int level,
String content);
public void addOrderedListElement(
ParseContext context,
int level,
String content);
public void addDefinitionListEntry(
ParseContext context,
String term,
String description);
public void addTableRow(ParseContext context, String[] values);
public void finish(ParseContext context);
//
// Inline
//
public String escape(String chunk); // Must avoid to escape wiki format
public String appendBreak(String line);
// styles
public String processSpan(ParseContext context, String chunk, String classes);
public String processItalic(ParseContext context, String chunk);
public String processBold(ParseContext context, String chunk);
public String processDelete(ParseContext context, String chunk);
// links
public String processStandardUrl(ParseContext context, String url, boolean preformatted);
public String makeLinkToFragment(ParseContext context, Long fragmentId, String label);
public String makeLinkToFragmentWithDetail(ParseContext context, Fragment fragment);
// Return null if a loop is detected
public String makeEmbeddedFragment(ParseContext context, Fragment fragment);
public String processLabeledLink(ParseContext context, String label, String url);
public String processFragmentRef(ParseContext context, String label, long id);
public String processTagName(ParseContext context, String tagName);
//
// Others
//
public String processErrorLine(String line);
}