org.apache.wicket.markup.parser.filter
Class WicketLinkTagHandler

java.lang.Object
  extended by org.apache.wicket.markup.parser.AbstractMarkupFilter
      extended by org.apache.wicket.markup.parser.filter.WicketLinkTagHandler
All Implemented Interfaces:
IMarkupFilter

public class WicketLinkTagHandler
extends AbstractMarkupFilter

This is a markup inline filter. It identifies xml tags which include a href attribute and which are not Wicket specific components and flags these tags (ComponentTag) as autolink enabled. A component resolver will later resolve the href and assign a BookmarkablePageLink to it (automatically).

An application setting is used as default value, which might be modified for specific regions. These regions are identified by <wicket:link> tags with an optional 'autolink' attribute. The default value for the attribute is true, thus enabling autolinking. An open-close <wicket:link/> tag will change the autolink status until the end of the markup document or the next <wicket:link> tag respectively. <wicket:link> regions may be nested.

Author:
Juergen Donnerstag

Field Summary
static String AUTOLINK_ID
          The id of autolink components
 
Constructor Summary
WicketLinkTagHandler()
          Construct.
 
Method Summary
protected  boolean analyzeAutolinkCondition(ComponentTag tag)
          Analyze the tag.
 MarkupElement nextTag()
          Get the next MarkupElement from the parent MarkupFilter and handles it if the specific filter criteria are met.
 void setAutomaticLinking(boolean enable)
          Set the default value for autolinking
 
Methods inherited from class org.apache.wicket.markup.parser.AbstractMarkupFilter
getParent, nextComponentTag, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AUTOLINK_ID

public static final String AUTOLINK_ID
The id of autolink components

See Also:
Constant Field Values
Constructor Detail

WicketLinkTagHandler

public WicketLinkTagHandler()
Construct.

Method Detail

setAutomaticLinking

public void setAutomaticLinking(boolean enable)
Set the default value for autolinking

Parameters:
enable - if true, autolinks are enabled

nextTag

public final MarkupElement nextTag()
                            throws ParseException
Get the next MarkupElement from the parent MarkupFilter and handles it if the specific filter criteria are met. Depending on the filter, it may return the MarkupElement unchanged, modified or it remove by asking the parent handler for the next tag.

Returns:
Return the next eligible MarkupElement
Throws:
ParseException
See Also:
IMarkupFilter.nextTag()

analyzeAutolinkCondition

protected boolean analyzeAutolinkCondition(ComponentTag tag)
Analyze the tag. If return value == true, a autolink component will be created.

Subclass analyzeAutolinkCondition() to implement you own implementation and register the new tag handler with the markup parser through Application.newMarkupParser().

Parameters:
tag - The current tag being parsed
Returns:
If true, tag will become auto-component


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