public abstract class MarkupParser extends Object
Modifier and Type | Field and Description |
---|---|
protected static String |
LEGACY_CHARS_ALLOWED
Lists all punctuation characters allowed in WikiMarkup.
|
protected ArrayList<StringTransmutator> |
m_attachmentLinkMutatorChain |
protected WikiContext |
m_context |
protected WikiEngine |
m_engine |
protected ArrayList<StringTransmutator> |
m_externalLinkMutatorChain |
protected ArrayList<HeadingListener> |
m_headingListenerChain |
protected PushbackReader |
m_in |
protected boolean |
m_inlineImages |
protected ArrayList<StringTransmutator> |
m_linkMutators |
protected ArrayList<StringTransmutator> |
m_localLinkMutatorChain
Optionally stores internal wikilinks
|
protected boolean |
m_parseAccessRules |
static String |
PROP_ALLOWHTML
If set to "true", allows using raw HTML within Wiki text.
|
static String |
PROP_RUNPLUGINS
If set to "true", enables plugins during parsing
|
static String |
PUNCTUATION_CHARS_ALLOWED
Lists all punctuation characters allowed in page names.
|
protected static int |
PUSHBACK_BUFFER_SIZE
Allow this many characters to be pushed back in the stream.
|
Modifier | Constructor and Description |
---|---|
protected |
MarkupParser(WikiContext context,
Reader in)
Constructs a MarkupParser.
|
Modifier and Type | Method and Description |
---|---|
void |
addAttachmentLinkHook(StringTransmutator mutator)
Adds a hook for processing attachment links.
|
void |
addExternalLinkHook(StringTransmutator mutator)
Adds a hook for processing external links.
|
void |
addHeadingListener(HeadingListener listener)
Adds a HeadingListener to the parser chain.
|
void |
addLinkTransmutator(StringTransmutator mutator)
Adds a hook for processing link texts.
|
void |
addLocalLinkHook(StringTransmutator mutator)
Adds a hook for processing local links.
|
static String |
cleanLink(String link)
Cleans a Wiki name.
|
static String |
cleanLink(String link,
String allowedChars)
Cleans a Wiki name based on a list of characters.
|
void |
disableAccessRules()
Disables access rule parsing.
|
void |
enableImageInlining(boolean toggle)
Use this to turn on or off image inlining.
|
int |
getPosition()
Return the current position in the reader stream.
|
static org.jdom2.Element |
makeError(String error)
Writes HTML for error message.
|
protected int |
nextToken()
Returns the next token in the stream.
|
abstract WikiDocument |
parse()
Parses the document.
|
protected void |
pushBack(int c)
Push back any character to the current input.
|
Reader |
setInputReader(Reader in)
Replaces the current input character stream with a new one.
|
static String |
wikifyLink(String link)
Cleans away extra legacy characters.
|
protected static final int PUSHBACK_BUFFER_SIZE
protected PushbackReader m_in
protected WikiEngine m_engine
protected WikiContext m_context
protected ArrayList<StringTransmutator> m_localLinkMutatorChain
protected ArrayList<StringTransmutator> m_externalLinkMutatorChain
protected ArrayList<StringTransmutator> m_attachmentLinkMutatorChain
protected ArrayList<HeadingListener> m_headingListenerChain
protected ArrayList<StringTransmutator> m_linkMutators
protected boolean m_inlineImages
protected boolean m_parseAccessRules
public static final String PROP_ALLOWHTML
public static final String PROP_RUNPLUGINS
protected static final String LEGACY_CHARS_ALLOWED
public static final String PUNCTUATION_CHARS_ALLOWED
protected MarkupParser(WikiContext context, Reader in)
context
- The WikiContext.in
- The reader from which we are reading the bytes from.public Reader setInputReader(Reader in)
in
- New source for input. If null, this method does nothing.public void addLinkTransmutator(StringTransmutator mutator)
mutator
- The hook to call. Null is safe.public void addLocalLinkHook(StringTransmutator mutator)
mutator
- The hook to call. Null is safe.public void addExternalLinkHook(StringTransmutator mutator)
mutator
- The hook to call. Null is safe.public void addAttachmentLinkHook(StringTransmutator mutator)
mutator
- The hook to call. Null is safe.public void addHeadingListener(HeadingListener listener)
listener
- The listener to add.public void disableAccessRules()
public void enableImageInlining(boolean toggle)
toggle
- If true, images are inlined (as per set in jspwiki.properties)
If false, then images won't be inlined; instead, they will be
treated as standard hyperlinks.public abstract WikiDocument parse() throws IOException
IOException
- If something goes wrong.public int getPosition()
protected final int nextToken() throws IOException, NullPointerException
IOException
- If something bad happensNullPointerException
- If you have not yet created an input document.protected void pushBack(int c) throws IOException
c
- Character to push back.IOException
- In case the character cannot be pushed back.public static org.jdom2.Element makeError(String error)
error
- The error string.public static String cleanLink(String link)
[ This is a link ] -> This is a link
link
- Link to be cleared. Null is safe, and causes this to return null.public static String cleanLink(String link, String allowedChars)
link
- Link to be cleared. Null is safe, and causes this to return null.allowedChars
- Characters which are allowed in the string.public static String wikifyLink(String link)
[ This is a link ] -> ThisIsALink
link
- Link to be cleared. Null is safe, and causes this to return null.Copyright © 2001-2016 The Apache Software Foundation. All rights reserved.