public final class AutoLinkResolver extends Object implements IComponentResolverThe AutoLinkResolver is responsible to handle automatic link resolution. Tags are marked "autolink" by the MarkupParser for all tags with href attribute, such as anchor and link tags with no explicit wicket id. E.g. <a href="Home.html">
If href points to a *.html file, a BookmarkablePageLink will automatically be created, except for absolute paths, where an ExternalLink is created.
If href points to a *.html file, it resolves the given URL by searching for a page class, either relative or absolute, specified by the href attribute of the tag. If relative the href URL must be relative to the package containing the associated page. An exception is thrown if no Page class was found.
If href is no *.html file a static reference to the resource is created.
Nested Class Summary
Nested Classes Modifier and Type Class Description
AutoLinkResolver.AbstractAutolinkResolverDelegateAbstract implementation that has a helper method for creating a resource reference.
AutoLinkResolver.AutolinkBookmarkablePageLink<T>Autolink components delegate component resolution to their parent components.
AutoLinkResolver.IAutolinkResolverDelegateInterface to delegate the actual resolving of auto components to.
AutoLinkResolver.PathInfoEncapsulates different aspects of a path.
Constructors Constructor Description
All Methods Instance Methods Concrete Methods Modifier and Type Method Description
addTagReferenceResolver(String tagName, String attributeName, AutoLinkResolver.IAutolinkResolverDelegate resolver)Register (add or replace) a new resolver with the tagName and attributeName.
getAutolinkResolverDelegate(String tagName)Get the resolver registered for 'tagName'
resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag)Try to resolve a component.
public final void addTagReferenceResolver(String tagName, String attributeName, AutoLinkResolver.IAutolinkResolverDelegate resolver)Register (add or replace) a new resolver with the tagName and attributeName. The resolver will be invoked each time an appropriate tag and attribute is found.
tagName- The tag name
attributeName- The attribute name
resolver- Implements what to do based on the tag and the attribute
public final AutoLinkResolver.IAutolinkResolverDelegate getAutolinkResolverDelegate(String tagName)Get the resolver registered for 'tagName'
tagName- The tag's name
- The resolver found. Null, if none registered
public final Component resolve(MarkupContainer container, MarkupStream markupStream, ComponentTag tag)Description copied from interface:
IComponentResolverTry to resolve a component.
- Specified by:
container- The container parsing its markup
markupStream- The current markupStream
tag- The current component tag while parsing the markup
- component or
nullif not found
- See Also:
IComponentResolver.resolve(org.apache.wicket.MarkupContainer, org.apache.wicket.markup.MarkupStream, org.apache.wicket.markup.ComponentTag)