#set( $symbol_pound = '#' ) #set( $symbol_dollar = '$' ) #set( $symbol_escape = '\' ) package ${package}; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import org.atteo.config.XmlDefaultValue; import org.atteo.moonshine.TopLevelService; import com.google.inject.PrivateModule; import com.google.inject.Module; /** * Service which produces message. */ @XmlRootElement(name = "provider") public class MessageProviderService extends TopLevelService { @XmlElement @XmlDefaultValue("Hello World!") private String message; private class MessageProviderImpl implements MessageProvider { public String getMessage() { return message; } } @Override public Module configure() { return new PrivateModule() { @Override protected void configure() { bind(MessageProvider.class).toInstance(new MessageProviderImpl()); expose(MessageProvider.class); } }; } }