org.glassfish.grizzly.web.standalone
Class StandaloneMainUtil

java.lang.Object
  extended by org.glassfish.grizzly.web.standalone.StandaloneMainUtil

public abstract class StandaloneMainUtil
extends Object

Abstract class that can be extended when Main/Launcher class are required. Invoking the start(java.lang.String[]) method of this class will properly parse the command line, set the appropriate Classloader and if a war/jar is passed as argument, explode it and happens its WEB-INF/classes to the context Classloader and finally start a configured instance of WebFilter

Author:
Jeanfrancois Arcand

Constructor Summary
StandaloneMainUtil()
           
 
Method Summary
 String appendWarContentToClassPath(String appliPath)
          Make available the content of a War file to the current Thread Context Classloader.
abstract  Adapter configureAdapter(WebFilterConfig wc)
          Configure the WebFilterConfig.setAdapter(org.glassfish.grizzly.web.container.Adapter)
 WebFilter createWebFilter(String[] args)
          Create a single WebFilter and configure it using the command line passed arguments.
abstract  String parseApplicationLocation(String[] args)
          Parse the current command line, and return the location of the war/jar/static resource location file passed as argument.
abstract  boolean parseOptions(String[] args)
          Validate the command line options.
abstract  void printHelpAndExit()
          This method will be invoked when unexpected arguments are passed to the createWebFilter(java.lang.String[]).
 void setPort(String num)
          Set the port the WebFilter will listen.
 void start(String[] args)
          Configure and start a WebFilter
 void stop()
          Stop WebFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandaloneMainUtil

public StandaloneMainUtil()
Method Detail

start

public void start(String[] args)
           throws Exception
Configure and start a WebFilter

Parameters:
args - the command line arguments.
Throws:
Exception

stop

public void stop()
          throws Exception
Stop WebFilter

Throws:
Exception

createWebFilter

public WebFilter createWebFilter(String[] args)
                          throws Exception
Create a single WebFilter and configure it using the command line passed arguments. This method will invoke parseOptions(java.lang.String[]), then parseApplicationLocation(java.lang.String[]), appendWarContentToClassPath(java.lang.String) and finally configureAdapter(org.glassfish.grizzly.web.WebFilterConfig)

Parameters:
args - The command line arguments.
Returns:
An instance of ready to start WebFilter
Throws:
Exception

appendWarContentToClassPath

public String appendWarContentToClassPath(String appliPath)
                                   throws MalformedURLException,
                                          IOException
Make available the content of a War file to the current Thread Context Classloader.

Returns:
the exploded war file location.
Throws:
MalformedURLException
IOException

setPort

public void setPort(String num)
Set the port the WebFilter will listen.

Parameters:
num -

printHelpAndExit

public abstract void printHelpAndExit()
This method will be invoked when unexpected arguments are passed to the createWebFilter(java.lang.String[]).


parseOptions

public abstract boolean parseOptions(String[] args)
Validate the command line options.

Parameters:
args - the command line arguments.
Returns:
true if the options are well formed.

configureAdapter

public abstract Adapter configureAdapter(WebFilterConfig wc)
Configure the WebFilterConfig.setAdapter(org.glassfish.grizzly.web.container.Adapter)

Parameters:
st - #return an instance of an Adapter.

parseApplicationLocation

public abstract String parseApplicationLocation(String[] args)
Parse the current command line, and return the location of the war/jar/static resource location file passed as argument.

Parameters:
args - the command line arguments.
Returns:
the application path, or null if not defined.


Copyright © 2009 SUN Microsystems. All Rights Reserved.