/*
* JBoss, Home of Professional Open Source
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.seam.wiki.plugin.helloWorld;
import org.jboss.seam.annotations.*;
import org.jboss.seam.ScopeType;
import org.jboss.seam.log.Log;
import org.jboss.seam.wiki.core.plugin.WikiPluginMacro;
import org.jboss.seam.wiki.preferences.Preferences;
import java.io.Serializable;
import java.util.Map;
/**
* @author Christian Bauer
*/
@Name("helloWorld")
@Scope(ScopeType.PAGE)
public class HelloWorld implements Serializable {
@Logger
Log log;
@In
Preferences preferences;
@In
Map<String,String> messages;
String greeting;
public String getHello(WikiPluginMacro pluginMacro) {
HelloWorldPreferences prefs = preferences.get(HelloWorldPreferences.class, pluginMacro);
return getGreeting() + " '" + prefs.getMessage() + "'";
}
public String getGreeting() {
if (greeting == null) return messages.get("hw.defaultMessage");
return greeting;
}
public void setGreeting(String greeting) {
this.greeting = greeting;
}
public void printAMessage() {
log.info("### This is just a log message");
}
@Observer("Macro.helloWorld.callback.viewBuild")
public void onViewBuild(WikiPluginMacro pluginMacro) {
log.info("### View build event triggered: " + pluginMacro);
}
@Observer("Macro.helloWorld.callback.beforeViewRender")
public void onBeforeViewRender(WikiPluginMacro pluginMacro) {
log.info("### Before render event triggered" + pluginMacro);
}
@Observer("Macro.helloWorld.callback.afterViewRender")
public void onAfterViewRender(WikiPluginMacro pluginMacro) {
log.info("### After render event triggered" + pluginMacro);
}
}