001package com.monochromeroad.grails.plugins.xwiki.macro;
002
003import org.xwiki.properties.BeanManager;
004import org.xwiki.rendering.macro.AbstractMacro;
005
006/**
007 * XWiki macro takes some parameters (e.g. {{code for="java" /}}) to use in Grails.
008 *
009 * <p>You need to create a constructor that takes no arguments.</p>
010 *
011 * @author Masatoshi Hayashi
012 * @param <P> Macro Parameters Class
013 */
014public abstract class DefaultXWikiMacro<P> extends AbstractMacro<P> {
015
016    private final String macroName;
017
018    public DefaultXWikiMacro(String name, Class<P> parametersBeanClass) {
019        super(name, "XWiki Macro: " + name, parametersBeanClass);
020        this.macroName = name;
021    }
022
023    public String getMacroName() {
024        return macroName;
025    }
026
027    public void setBeanManager(BeanManager beanManager) {
028        this.beanManager = beanManager;
029    }
030}