org.xwiki.rendering.internal.renderer.xhtml.link
Class AbstractXHTMLLinkTypeRenderer

java.lang.Object
  extended by org.xwiki.rendering.internal.renderer.xhtml.link.AbstractXHTMLLinkTypeRenderer
All Implemented Interfaces:
XHTMLLinkTypeRenderer, LinkListener
Direct Known Subclasses:
AttachmentXHTMLLinkTypeRenderer, DefaultXHTMLLinkTypeRenderer, DocumentXHTMLLinkTypeRenderer, InterWikiXHTMLLinkTypeRenderer, MailtoXHTMLLinkTypeRenderer, UNCXHTMLLinkTypeRenderer

public abstract class AbstractXHTMLLinkTypeRenderer
extends java.lang.Object
implements XHTMLLinkTypeRenderer

Common code for XHTML Link Type Renderer implementations.

Since:
2.5M2
Version:
$Id$

Field Summary
protected static java.lang.String CLASS
          The XHTML element class parameter.
protected  org.xwiki.component.manager.ComponentManager componentManager
          Used to look for URILabelGenerator component implementations when computing labels.
protected static java.lang.String SPAN
          The name of the XHTML format element.
 
Constructor Summary
AbstractXHTMLLinkTypeRenderer()
           
 
Method Summary
 void beginLink(ResourceReference reference, boolean isFreeStandingURI, java.util.Map<java.lang.String,java.lang.String> parameters)
          
protected abstract  void beginLinkExtraAttributes(ResourceReference reference, java.util.Map<java.lang.String,java.lang.String> spanAttributes, java.util.Map<java.lang.String,java.lang.String> anchorAttributes)
          Hook called when rendering the beginning of a link to allow implementation classes to augment the passed span and anchor attributes as they see fit.
protected  java.lang.String computeLabel(ResourceReference reference)
          Default implementation for computing a link label when no label has been specified.
 void endLink(ResourceReference reference, boolean isFreeStandingURI, java.util.Map<java.lang.String,java.lang.String> parameters)
          
 XHTMLWikiPrinter getXHTMLWikiPrinter()
          
protected  boolean hasLabel()
           
 void setHasLabel(boolean hasLabel)
          
 void setXHTMLWikiPrinter(XHTMLWikiPrinter printer)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS

protected static final java.lang.String CLASS
The XHTML element class parameter.

See Also:
Constant Field Values

SPAN

protected static final java.lang.String SPAN
The name of the XHTML format element.

See Also:
Constant Field Values

componentManager

@Inject
protected org.xwiki.component.manager.ComponentManager componentManager
Used to look for URILabelGenerator component implementations when computing labels.

Constructor Detail

AbstractXHTMLLinkTypeRenderer

public AbstractXHTMLLinkTypeRenderer()
Method Detail

hasLabel

protected boolean hasLabel()
Returns:
See setHasLabel(boolean)

setHasLabel

public void setHasLabel(boolean hasLabel)

Specified by:
setHasLabel in interface XHTMLLinkTypeRenderer
Parameters:
hasLabel - true if the link to be rendered has a label specified or false otherwise. If no label has been specified then it's up to the XHTML renderer implementation to generate a default label.
See Also:
XHTMLLinkTypeRenderer.setHasLabel(boolean)

setXHTMLWikiPrinter

public void setXHTMLWikiPrinter(XHTMLWikiPrinter printer)

Specified by:
setXHTMLWikiPrinter in interface XHTMLLinkTypeRenderer
Parameters:
printer - the XHTML printer to use to output links as XHTML
See Also:
XHTMLLinkTypeRenderer.setXHTMLWikiPrinter(org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter)

getXHTMLWikiPrinter

public XHTMLWikiPrinter getXHTMLWikiPrinter()

Specified by:
getXHTMLWikiPrinter in interface XHTMLLinkTypeRenderer
Returns:
the XHTML printer to use to output links as XHTML
See Also:
XHTMLLinkTypeRenderer.getXHTMLWikiPrinter()

beginLinkExtraAttributes

protected abstract void beginLinkExtraAttributes(ResourceReference reference,
                                                 java.util.Map<java.lang.String,java.lang.String> spanAttributes,
                                                 java.util.Map<java.lang.String,java.lang.String> anchorAttributes)
Hook called when rendering the beginning of a link to allow implementation classes to augment the passed span and anchor attributes as they see fit.

Parameters:
reference - the reference of the link being rendered
spanAttributes - the HTML attributes for the SPAN HTML element added around the ANCHOR HTML element
anchorAttributes - the HTML attributes for the ANCHOR element

computeLabel

protected java.lang.String computeLabel(ResourceReference reference)
Default implementation for computing a link label when no label has been specified. Can be overwritten by implementations to provide a different algorithm.

Parameters:
reference - the reference of the link for which to compute the label
Returns:
the computed label

beginLink

public void beginLink(ResourceReference reference,
                      boolean isFreeStandingURI,
                      java.util.Map<java.lang.String,java.lang.String> parameters)

Specified by:
beginLink in interface LinkListener
See Also:
XHTMLLinkTypeRenderer#

endLink

public void endLink(ResourceReference reference,
                    boolean isFreeStandingURI,
                    java.util.Map<java.lang.String,java.lang.String> parameters)

Specified by:
endLink in interface LinkListener
See Also:
LinkListener.endLink(org.xwiki.rendering.listener.reference.ResourceReference , boolean, Map)


Copyright © 2004-2011 XWiki. All Rights Reserved.