While PicoContainer Web's composition abstraction - the WebappComposer interface - does not mandate the use of any script, the user may choose to use PicoContainer Script to leverage script support to compose the content of a script directly to a webapp scope. To this end, the ScriptedWebappComposer is provided. By default, it assumes XML as the scripting metadata (using "pico-application.xml", "pico-session.xml", "pico-request.xml" as the conventional names of the three scoped scripts), but any script supported by PicoContainer Script can be used. For example, to use Ruby as the scripting language simply define a composer like:
public class RubyWebappComposer extends ScriptedWebappComposer { public RubyWebappComposer(){ super(JRubyContainerBuilder.class.getName(), "pico-application.rb", "pico-session.rb", "pico-request.rb"); } }
public class MyXMLWebappComposer extends ScriptedWebappComposer { public MyXMLWebappComposer(){ super(XMLContainerBuilder.class.getName(), "config/application.xml", "config/session.xml", "config/request.xml"); } }