com.atlassian.confluence.renderer.v2.macros
Class V2UserMacroAdapter

java.lang.Object
  extended by com.atlassian.renderer.v2.macro.BaseMacro
      extended by com.atlassian.confluence.renderer.v2.macros.V2UserMacroAdapter
All Implemented Interfaces:
com.atlassian.renderer.v2.macro.Macro

public class V2UserMacroAdapter
extends com.atlassian.renderer.v2.macro.BaseMacro

An adapter class to allow XHTML user macros (i.e. GenericVelocityMacro) to be used as v2 macros.

As of Confluence 4.0, all user macros are automatically converted over to being XHTML macros. That is, user macros that use be represented as a GenericVelocityMacro pre-4.0, are now represented as GenericVelocityMacro.

To ensure that we can still render user macros that appear in wiki markup, we need an adapter to allow our new XHTML user macros to be used as v2 macros by the v2 renderer.

Since:
4.0

Field Summary
 
Fields inherited from interface com.atlassian.renderer.v2.macro.Macro
RAW_PARAMS_KEY
 
Constructor Summary
V2UserMacroAdapter(Macro xhtmlUserMacro)
           
 
Method Summary
 java.lang.String execute(java.util.Map parameters, java.lang.String body, com.atlassian.renderer.RenderContext renderContext)
           
 com.atlassian.renderer.v2.RenderMode getBodyRenderMode()
          There are only two render modes that we need to support: suppress F_FIRST_PARA and allow F_HTMLESCAPE (see old version of com.atlassian.confluence.renderer.UserMacroConfig#toMacro())
 Macro getXhtmlMacro()
           
 boolean hasBody()
           
 
Methods inherited from class com.atlassian.renderer.v2.macro.BaseMacro
getTokenType, getWysiwygBodyType, isInline, suppressMacroRenderingDuringWysiwyg, suppressSurroundingTagDuringWysiwygRendering
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

V2UserMacroAdapter

public V2UserMacroAdapter(Macro xhtmlUserMacro)
Method Detail

execute

public java.lang.String execute(java.util.Map parameters,
                                java.lang.String body,
                                com.atlassian.renderer.RenderContext renderContext)
                         throws com.atlassian.renderer.v2.macro.MacroException
Throws:
com.atlassian.renderer.v2.macro.MacroException

getBodyRenderMode

public com.atlassian.renderer.v2.RenderMode getBodyRenderMode()
There are only two render modes that we need to support: suppress F_FIRST_PARA and allow F_HTMLESCAPE (see old version of com.atlassian.confluence.renderer.UserMacroConfig#toMacro())

We don't need to respect F_HTMLESCAPE here, as this concern is handled in the execution of GenericVelocityMacro (also see CONFDEV-1509)


hasBody

public boolean hasBody()

getXhtmlMacro

public Macro getXhtmlMacro()


Copyright © 2003-2013 Atlassian. All Rights Reserved.