org.apache.wicket.markup
Class AbstractMarkupParser

java.lang.Object
  extended by org.apache.wicket.markup.AbstractMarkupParser
Direct Known Subclasses:
MarkupParser

public abstract class AbstractMarkupParser
extends java.lang.Object

This is a base MarkupParser specifically for (X)HTML. It makes use of a streaming XML parser to read the markup and IMarkupFilters to remove comments, identify Wicket relevant tags, apply html specific treatments etc.. Please see WicketMarkupParser for a parser preconfigured for Wicket.

The result will be an Markup object, which is basically a list, containing Wicket relevant tags and RawMarkup.

Author:
Jonathan Locke, Juergen Donnerstag
See Also:
IMarkupFilter, MarkupFactory, IMarkupSettings

Field Summary
static java.util.regex.Pattern CONDITIONAL_COMMENT_OPENING
          Opening a conditional comment section, which is NOT treated as a comment section
 
Constructor Summary
AbstractMarkupParser(IXmlPullParser xmlParser, MarkupResourceStream resource)
          Constructor.
AbstractMarkupParser(MarkupResourceStream resource)
          Constructor.
AbstractMarkupParser(java.lang.String markup)
          Constructor.
 
Method Summary
protected  java.lang.String compressWhitespace(java.lang.String rawMarkup)
          Remove whitespace from the raw markup
 java.util.List<IMarkupFilter> getMarkupFilters()
           
protected  MarkupResourceStream getMarkupResourceStream()
          Applications which subclass initFilterChain() might also wish to access the markup resource stream.
protected  java.lang.CharSequence handleRawText(java.lang.String rawMarkup)
           
protected abstract  java.util.List<IMarkupFilter> initializeMarkupFilters(Markup markup)
          Create a new markup filter chain and initialize with all default filters required.
 Markup parse()
          Reads and parses markup from a file.
protected  void postProcess(Markup markup)
           
 void setWicketNamespace(java.lang.String namespace)
          In case you want to analyze markup which BY DEFAULT does not use "wicket" to find relevant tags.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONDITIONAL_COMMENT_OPENING

public static final java.util.regex.Pattern CONDITIONAL_COMMENT_OPENING
Opening a conditional comment section, which is NOT treated as a comment section

Constructor Detail

AbstractMarkupParser

public AbstractMarkupParser(MarkupResourceStream resource)
Constructor.

Parameters:
resource - The markup resource (file)

AbstractMarkupParser

public AbstractMarkupParser(java.lang.String markup)
Constructor. Usually for testing purposes only

Parameters:
markup - The markup resource.

AbstractMarkupParser

public AbstractMarkupParser(IXmlPullParser xmlParser,
                            MarkupResourceStream resource)
Constructor.

Parameters:
xmlParser - The streaming xml parser to read and parse the markup
resource - The markup resource (file)
Method Detail

getMarkupFilters

public java.util.List<IMarkupFilter> getMarkupFilters()
Returns:
Gets the list of markup filters

setWicketNamespace

public final void setWicketNamespace(java.lang.String namespace)
In case you want to analyze markup which BY DEFAULT does not use "wicket" to find relevant tags.

Parameters:
namespace -

getMarkupResourceStream

protected MarkupResourceStream getMarkupResourceStream()
Applications which subclass initFilterChain() might also wish to access the markup resource stream.

Returns:
The markup resource stream

initializeMarkupFilters

protected abstract java.util.List<IMarkupFilter> initializeMarkupFilters(Markup markup)
Create a new markup filter chain and initialize with all default filters required.

Parameters:
markup -
Returns:
The list of markup filters to be considered by the markup parser

parse

public final Markup parse()
                   throws java.io.IOException,
                          ResourceStreamNotFoundException
Reads and parses markup from a file.

Returns:
The markup
Throws:
java.io.IOException
ResourceStreamNotFoundException

postProcess

protected void postProcess(Markup markup)
Parameters:
markup -

handleRawText

protected java.lang.CharSequence handleRawText(java.lang.String rawMarkup)
Parameters:
rawMarkup -
Returns:
The modified raw markup

compressWhitespace

protected java.lang.String compressWhitespace(java.lang.String rawMarkup)
Remove whitespace from the raw markup

Parameters:
rawMarkup -
Returns:
rawMarkup

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.