public class WikiCode extends AbstractWikiParser implements WikiParser
Modifier and Type | Class and Description |
---|---|
private static class |
WikiCode.ListType |
private class |
WikiCode.TableOfContent |
private static class |
WikiCode.Tags |
Modifier and Type | Field and Description |
---|---|
private static char |
ASTERISK |
private java.lang.String |
attribDivider |
private java.lang.String |
cellDivider |
private java.lang.String |
defListLevel |
private static java.lang.String |
EMPTY |
private boolean |
escape |
private boolean |
escaped |
private static char |
FIVE |
private static char |
FOUR |
private static char[] |
HEADLINE_LEVEL |
private static java.lang.String[] |
HEADLINE_TAGS
Tags for different types of headlines in wikiCode.
|
private static java.lang.String |
HTML_CLOSE_BLOCKQUOTE |
private static java.lang.String |
HTML_CLOSE_DEFINITION_DESCRIPTION |
private static java.lang.String |
HTML_CLOSE_DEFINITION_ITEM |
private static java.lang.String |
HTML_CLOSE_DEFINITION_LIST |
private static java.lang.String |
HTML_CLOSE_LIST_ELEMENT |
private static java.lang.String |
HTML_CLOSE_ORDERED_LIST |
private static java.lang.String |
HTML_CLOSE_UNORDERED_LIST |
private static java.lang.String |
HTML_OPEN_BLOCKQUOTE |
private static java.lang.String |
HTML_OPEN_DEFINITION_DESCRIPTION |
private static java.lang.String |
HTML_OPEN_DEFINITION_ITEM |
private static java.lang.String |
HTML_OPEN_DEFINITION_LIST |
private static java.lang.String |
HTML_OPEN_LIST_ELEMENT |
private static java.lang.String |
HTML_OPEN_ORDERED_LIST |
private static java.lang.String |
HTML_OPEN_UNORDERED_LIST |
private static int |
LEN_PIPE_ESCAPED |
private static int |
LEN_WIKI_CLOSE_EXTERNAL_LINK |
private static int |
LEN_WIKI_CLOSE_LINK |
private static int |
LEN_WIKI_CLOSE_PRE_ESCAPED |
private static int |
LEN_WIKI_HR_LINE |
private static int |
LEN_WIKI_IMAGE |
private static int |
LEN_WIKI_OPEN_EXTERNAL_LINK |
private static int |
LEN_WIKI_OPEN_LINK |
private static int |
LEN_WIKI_OPEN_METADATA |
private static int |
LEN_WIKI_OPEN_PRE_ESCAPED |
private static int |
LEN_WIKI_VIDEO_VIMEO |
private static int |
LEN_WIKI_VIDEO_YOUTUBE |
private int |
lenAttribDivider |
private int |
lenCellDivider |
private int |
lenTableEnd |
private int |
lenTableStart |
private java.lang.String |
newLine |
private boolean |
newRowStart |
private boolean |
noList |
private static char |
ONE |
private java.lang.String |
orderedListLevel |
private static java.lang.String |
PIPE_ESCAPED |
private boolean |
preformattedSpanning |
private int |
preindented |
private boolean |
processingCell |
private boolean |
processingDefList |
private boolean |
processingPreformattedText |
private boolean |
processingTable |
private static java.util.Map<java.lang.String,java.lang.String[]> |
PROPERTY_VALUES
Map which contains possible values for several parameters.
|
private static java.util.regex.Pattern |
REGEX_NOT_CHAR_NUM_OR_UNDERSCORE_PATTERN |
private boolean |
replacedHtmlAlready |
private static char |
SIX |
private static java.util.regex.Pattern |
SPACE_PATTERN |
private static java.lang.String[] |
TABLE_PROPERTIES
List of properties which can be used in tables.
|
private java.lang.String |
tableEnd |
private WikiCode.TableOfContent |
tableOfContents |
private java.lang.String |
tableStart |
private static char |
THREE |
private static char |
TWO |
private java.lang.String |
unorderedListLevel |
private static java.lang.String |
WIKI_CLOSE_EXTERNAL_LINK |
private static java.lang.String |
WIKI_CLOSE_LINK |
private static java.lang.String |
WIKI_CLOSE_METADATA |
private static java.lang.String |
WIKI_CLOSE_PRE_ESCAPED |
private static char |
WIKI_FORMATTED |
private static java.lang.String |
WIKI_HR_LINE |
private static java.lang.String |
WIKI_IMAGE |
private static char |
WIKI_INDENTION |
private static java.lang.String |
WIKI_OPEN_EXTERNAL_LINK |
private static java.lang.String |
WIKI_OPEN_LINK |
private static java.lang.String |
WIKI_OPEN_METADATA |
private static java.lang.String |
WIKI_OPEN_PRE_ESCAPED |
private static java.lang.String |
WIKI_VIDEO_VIMEO |
private static java.lang.String |
WIKI_VIDEO_YOUTUBE |
Constructor and Description |
---|
WikiCode() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.StringBuilder |
appendKeyValuePair(java.lang.String key,
java.lang.String value,
java.lang.StringBuilder stringBuilder)
Appends a key/value pair in HTML syntax to a given StringBuilder.
|
private java.lang.StringBuilder |
createTableOfContents()
Creates table of contents for a wiki page.
|
private static java.lang.StringBuilder |
filterTableProperties(java.lang.String properties)
Takes possible table properties and tests if they are valid.
|
private java.lang.String |
processDefinitionList(java.lang.String line)
Processes tags which are connected to definition lists.
|
private void |
processHeadline(java.lang.StringBuilder input,
int firstPosition,
WikiCode.Tags tags,
int secondPosition,
java.lang.String direlem) |
private java.lang.String |
processLineOfWikiCode(java.lang.String hostport,
java.lang.String line)
Replaces wiki tags with HTML tags in one line of text.
|
private static java.lang.String |
processLinksAndImages(java.lang.String hostport,
java.lang.String line)
Processes tags which are connected to links and images.
|
private java.lang.String |
processList(java.lang.String line,
WikiCode.ListType listType)
Processes tags which are connected to ordered or unordered lists.
|
private static java.lang.String |
processMetadata(java.lang.String line)
Process line with geo coordinate metadata
|
private java.lang.String |
processOrderedList(java.lang.String line)
Processes tags which are connected to ordered lists.
|
private java.lang.String |
processPreformattedText(java.lang.String hostport,
java.lang.String line)
Processes tags which are connected preformatted text (<pre> </pre>).
|
private java.lang.String |
processTable(java.lang.String line)
Processes tags which are connected to tables.
|
private java.lang.String |
processUnorderedList(java.lang.String line)
Processes tags which are connected to unordered lists.
|
private java.lang.String |
tagReplace(java.lang.String input,
WikiCode.Tags tags)
Replaces the wiki representation of tags with the HTML representation.
|
protected java.lang.String |
transform(java.lang.String hostport,
java.io.BufferedReader reader,
int length)
Transforms a text which contains wiki code to HTML fragment.
|
transform, transform, transform
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
transform, transform, transform
private static final java.lang.String EMPTY
private static final java.lang.String PIPE_ESCAPED
private static final java.util.regex.Pattern REGEX_NOT_CHAR_NUM_OR_UNDERSCORE_PATTERN
private static final java.util.regex.Pattern SPACE_PATTERN
private static final java.lang.String HTML_OPEN_DEFINITION_DESCRIPTION
private static final java.lang.String HTML_CLOSE_DEFINITION_DESCRIPTION
private static final java.lang.String HTML_OPEN_DEFINITION_ITEM
private static final java.lang.String HTML_CLOSE_DEFINITION_ITEM
private static final java.lang.String HTML_OPEN_DEFINITION_LIST
private static final java.lang.String HTML_CLOSE_DEFINITION_LIST
private static final java.lang.String HTML_OPEN_UNORDERED_LIST
private static final java.lang.String HTML_CLOSE_UNORDERED_LIST
private static final java.lang.String HTML_CLOSE_BLOCKQUOTE
private static final java.lang.String HTML_CLOSE_LIST_ELEMENT
private static final java.lang.String HTML_CLOSE_ORDERED_LIST
private static final java.lang.String HTML_OPEN_BLOCKQUOTE
private static final java.lang.String HTML_OPEN_LIST_ELEMENT
private static final java.lang.String HTML_OPEN_ORDERED_LIST
private static final java.lang.String WIKI_CLOSE_LINK
private static final java.lang.String WIKI_OPEN_LINK
private static final java.lang.String WIKI_CLOSE_METADATA
private static final java.lang.String WIKI_OPEN_METADATA
private static final java.lang.String WIKI_CLOSE_EXTERNAL_LINK
private static final java.lang.String WIKI_OPEN_EXTERNAL_LINK
private static final java.lang.String WIKI_CLOSE_PRE_ESCAPED
private static final java.lang.String WIKI_HR_LINE
private static final java.lang.String WIKI_IMAGE
private static final java.lang.String WIKI_VIDEO_YOUTUBE
private static final java.lang.String WIKI_VIDEO_VIMEO
private static final java.lang.String WIKI_OPEN_PRE_ESCAPED
private static final char ASTERISK
private static final char ONE
private static final char TWO
private static final char THREE
private static final char FOUR
private static final char FIVE
private static final char SIX
private static final char WIKI_FORMATTED
private static final char WIKI_INDENTION
private static final int LEN_WIKI_CLOSE_PRE_ESCAPED
private static final int LEN_WIKI_OPEN_PRE_ESCAPED
private static final int LEN_WIKI_OPEN_LINK
private static final int LEN_WIKI_CLOSE_LINK
private static final int LEN_WIKI_IMAGE
private static final int LEN_WIKI_VIDEO_YOUTUBE
private static final int LEN_WIKI_VIDEO_VIMEO
private static final int LEN_WIKI_OPEN_EXTERNAL_LINK
private static final int LEN_WIKI_CLOSE_EXTERNAL_LINK
private static final int LEN_WIKI_HR_LINE
private static final int LEN_PIPE_ESCAPED
private static final int LEN_WIKI_OPEN_METADATA
private static final java.lang.String[] TABLE_PROPERTIES
private static final java.util.Map<java.lang.String,java.lang.String[]> PROPERTY_VALUES
private static final java.lang.String[] HEADLINE_TAGS
private static final char[] HEADLINE_LEVEL
private final java.lang.String tableStart
private final java.lang.String newLine
private final java.lang.String cellDivider
private final java.lang.String tableEnd
private final java.lang.String attribDivider
private final int lenTableStart
private final int lenCellDivider
private final int lenTableEnd
private final int lenAttribDivider
private java.lang.String orderedListLevel
private java.lang.String unorderedListLevel
private java.lang.String defListLevel
private boolean processingCell
private boolean processingDefList
private final boolean escape
private final boolean escaped
private boolean newRowStart
private boolean noList
private boolean processingPreformattedText
private boolean preformattedSpanning
private boolean replacedHtmlAlready
private boolean processingTable
private int preindented
private final WikiCode.TableOfContent tableOfContents
protected java.lang.String transform(java.lang.String hostport, java.io.BufferedReader reader, int length) throws java.io.IOException
transform
in class AbstractWikiParser
hostport
- reader
- contains the text to be transformed.length
- expected length of text, used to create buffer with right size.java.io.IOException
- in case input from reader can not be read.private void processHeadline(java.lang.StringBuilder input, int firstPosition, WikiCode.Tags tags, int secondPosition, java.lang.String direlem)
private java.lang.String processTable(java.lang.String line)
line
- line of text to be transformed from wiki code to HTMLprivate static java.lang.StringBuilder filterTableProperties(java.lang.String properties)
properties
- String which may contain several table properties and/or junk.private static java.lang.StringBuilder appendKeyValuePair(java.lang.String key, java.lang.String value, java.lang.StringBuilder stringBuilder)
key
- key to be appended.value
- value of key.stringBuilder
- this is what key/value are appended to.private java.lang.String processOrderedList(java.lang.String line)
line
- line of text to be transformed from wiki code to HTMLprivate java.lang.String processUnorderedList(java.lang.String line)
line
- line of text to be transformed from wiki code to HTMLprivate java.lang.String processList(java.lang.String line, WikiCode.ListType listType)
line
- line of text to be transformed from wiki code to HTMLlistType
- type of tags to be processedprivate java.lang.String processDefinitionList(java.lang.String line)
line
- line of text to be transformed from wiki code to HTMLprivate static java.lang.String processLinksAndImages(java.lang.String hostport, java.lang.String line)
hostport
- line
- line of text to be transformed from wiki code to HTMLprivate java.lang.String processPreformattedText(java.lang.String hostport, java.lang.String line)
hostport
- line
- line of text to be transformed from wiki code to HTMLprivate java.lang.StringBuilder createTableOfContents()
private java.lang.String tagReplace(java.lang.String input, WikiCode.Tags tags)
input
- String which potentially contains tags to be replaced.tags
- tags to be replaced.private java.lang.String processLineOfWikiCode(java.lang.String hostport, java.lang.String line)
hostport
- line
- line of text to be transformed from wiki code to HTMLprivate static java.lang.String processMetadata(java.lang.String line)
line
- of wiki text