X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fparser%2FWikiTokenizer.java;h=c8b150e815d6e33e4806bb296a09dd21d7f8dc43;hb=8f3cf0a0d01b1ffeab4fa2c4ef1f69203be9a891;hp=403b27c14ccb34ee1225b352b05df9a77d2f5ccf;hpb=5a79ed5f458a5c469d4b5fa81f25e83baabad57c;p=DictionaryPC.git diff --git a/src/com/hughes/android/dictionary/parser/WikiTokenizer.java b/src/com/hughes/android/dictionary/parser/WikiTokenizer.java index 403b27c..c8b150e 100644 --- a/src/com/hughes/android/dictionary/parser/WikiTokenizer.java +++ b/src/com/hughes/android/dictionary/parser/WikiTokenizer.java @@ -22,7 +22,60 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public final class WikiTokenizer { + + public static interface Callback { + void onPlainText(final String text); + void onMarkup(WikiTokenizer wikiTokenizer); + void onWikiLink(WikiTokenizer wikiTokenizer); + void onNewline(WikiTokenizer wikiTokenizer); + void onFunction(final WikiTokenizer tokenizer, String functionName, List functionPositionArgs, + Map functionNamedArgs); + void onHeading(WikiTokenizer wikiTokenizer); + void onListItem(WikiTokenizer wikiTokenizer); + void onComment(WikiTokenizer wikiTokenizer); + void onHtml(WikiTokenizer wikiTokenizer); + } + + public static class DoNothingCallback implements Callback { + + @Override + public void onPlainText(String text) { + } + + @Override + public void onMarkup(WikiTokenizer wikiTokenizer) { + } + + @Override + public void onWikiLink(WikiTokenizer wikiTokenizer) { + } + @Override + public void onNewline(WikiTokenizer wikiTokenizer) { + } + + @Override + public void onFunction(WikiTokenizer tokenizer, String functionName, + List functionPositionArgs, Map functionNamedArgs) { + } + + @Override + public void onHeading(WikiTokenizer wikiTokenizer) { + } + + @Override + public void onListItem(WikiTokenizer wikiTokenizer) { + } + + @Override + public void onComment(WikiTokenizer wikiTokenizer) { + } + + @Override + public void onHtml(WikiTokenizer wikiTokenizer) { + } + } + //private static final Pattern wikiTokenEvent = Pattern.compile("($)", Pattern.MULTILINE); private static final Pattern wikiTokenEvent = Pattern.compile("(" + "\\{\\{|\\}\\}|" + @@ -31,6 +84,9 @@ public final class WikiTokenizer { "=|" + // Need the = because we might have to find unescaped = "