Class WicketLinkTagHandler

  extended by org.apache.wicket.markup.parser.AbstractMarkupFilter
      extended by org.apache.wicket.markup.parser.filter.WicketLinkTagHandler
All Implemented Interfaces:, IClusterable, IMarkupFilter, IComponentResolver

public class WicketLinkTagHandler
extends AbstractMarkupFilter
implements IComponentResolver

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.

Juergen Donnerstag
See Also:
Serialized Form

Field Summary
static java.lang.String AUTOLINK_ID
          The id of autolink components
static java.lang.String LINK
Constructor Summary
Method Summary
protected  boolean analyzeAutolinkCondition(ComponentTag tag)
          Analyze the tag.
protected  MarkupElement onComponentTag(ComponentTag tag)
          Invoked when a ComponentTag was found.
 Component resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag)
          Try to resolve a component.
 void setAutomaticLinking(boolean enable)
          Set the default value for autolinking
Methods inherited from class org.apache.wicket.markup.parser.AbstractMarkupFilter
getNextFilter, nextElement, onSpecialTag, postProcess, setNextFilter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final java.lang.String LINK
See Also:
Constant Field Values


public static final java.lang.String AUTOLINK_ID
The id of autolink components

See Also:
Constant Field Values
Constructor Detail


public WicketLinkTagHandler()

Method Detail


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

enable - if true, autolinks are enabled


protected final MarkupElement onComponentTag(ComponentTag tag)
                                      throws java.text.ParseException
Description copied from class: AbstractMarkupFilter
Invoked when a ComponentTag was found.

By default this method is also called for WicketTags.

Specified by:
onComponentTag in class AbstractMarkupFilter
Usually the same as the tag attribute


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().

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


public Component resolve(MarkupContainer container,
                         MarkupStream markupStream,
                         ComponentTag tag)
Description copied from interface: IComponentResolver
Try to resolve a component.

Specified by:
resolve in interface IComponentResolver
container - The container parsing its markup
markupStream - The current markupStream
tag - The current component tag while parsing the markup
component or null if not found

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