|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.werken.classworlds.Launcher
Command-line invokable application launcher.
This launcher class assists in the creation of classloaders
and ClassRealm
s from a configuration file and
the launching of the application's main
method
from the correct class loaded through the correct classloader.
The path to the configuration file is specified using the
classworlds.conf
system property, typically
specified using the -D
switch to java
.
Constructor Summary | |
Launcher()
Construct. |
Method Summary | |
void |
configure(java.lang.String confPath)
Configure from a file. |
protected java.lang.reflect.Method |
getEnhancedMainMethod()
Retrieve the enhanced main entry method. |
java.lang.Class |
getMainClass()
Retrieve the main entry class. |
java.lang.String |
getMainClassName()
Retrieve the main entry class name. |
protected java.lang.reflect.Method |
getMainMethod()
Retrieve the main entry method. |
ClassRealm |
getMainRealm()
Retrieve the main entry realm. |
java.lang.String |
getMainRealmName()
Retrieve the main entry realm name. |
ClassWorld |
getWorld()
Retrieve this launcher's ClassWorld . |
void |
launch(java.lang.String[] args)
Launch the application. |
protected void |
launchEnhanced(java.lang.String[] args)
Attempt to launch the application through the enhanced main method. |
protected void |
launchStandard(java.lang.String[] args)
Attempt to launch the application through the standard main method. |
static void |
main(java.lang.String[] args)
Launch the launcher. |
void |
setAppMain(java.lang.String mainClassName,
java.lang.String mainRealmName)
Set the application's main entrypoint. |
void |
setWorld(ClassWorld world)
Set this launcher's ClassWorld . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Launcher()
Method Detail |
public void setAppMain(java.lang.String mainClassName, java.lang.String mainRealmName)
mainClassName
- The main class name.mainRealmName
- The realm to load the class from.public java.lang.String getMainRealmName()
public java.lang.String getMainClassName()
public void setWorld(ClassWorld world)
ClassWorld
.world
- The world.public ClassWorld getWorld()
ClassWorld
.public void configure(java.lang.String confPath) throws java.io.IOException, java.net.MalformedURLException, ConfigurationException, DuplicateRealmException, NoSuchRealmException
confPath
- Path to the config file.java.io.IOException
- If an error occurs reading the config file.java.net.MalformedURLException
- If the config file contains invalid URLs.ConfigurationException
- If the config file is corrupt.DuplicateRealmException
- If the config file defines two realms with the same id.NoSuchRealmException
- If the config file defines a main entry point in
a non-existent realm.public java.lang.Class getMainClass() throws java.lang.ClassNotFoundException, NoSuchRealmException
java.lang.ClassNotFoundException
- If the class cannot be found.NoSuchRealmException
- If the specified main entry realm
does not exist.public ClassRealm getMainRealm() throws NoSuchRealmException
NoSuchRealmException
- If the specified main entry realm
does not exist.protected java.lang.reflect.Method getEnhancedMainMethod() throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, NoSuchRealmException
java.lang.ClassNotFoundException
- If the main entry class cannot be found.java.lang.NoSuchMethodException
- If the main entry method cannot be found.NoSuchRealmException
- If the main entry realm cannot be found.protected java.lang.reflect.Method getMainMethod() throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, NoSuchRealmException
java.lang.ClassNotFoundException
- If the main entry class cannot be found.java.lang.NoSuchMethodException
- If the main entry method cannot be found.NoSuchRealmException
- If the main entry realm cannot be found.public void launch(java.lang.String[] args) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, NoSuchRealmException
args
- The application args.java.lang.ClassNotFoundException
- If the main entry class cannot be found.java.lang.IllegalAccessException
- If the method cannot be accessed.java.lang.reflect.InvocationTargetException
- If the target of the invokation is invalid.java.lang.NoSuchMethodException
- If the main entry method cannot be found.NoSuchRealmException
- If the main entry realm cannot be found.protected void launchEnhanced(java.lang.String[] args) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, NoSuchRealmException
This will seek a method with the exact signature of:
public static void main(String[] args, ClassWorld world)
args
- The application args.java.lang.ClassNotFoundException
- If the main entry class cannot be found.java.lang.IllegalAccessException
- If the method cannot be accessed.java.lang.reflect.InvocationTargetException
- If the target of the invokation is invalid.java.lang.NoSuchMethodException
- If the main entry method cannot be found.NoSuchRealmException
- If the main entry realm cannot be found.protected void launchStandard(java.lang.String[] args) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, NoSuchRealmException
This will seek a method with the exact signature of:
public static void main(String[] args)
args
- The application args.java.lang.ClassNotFoundException
- If the main entry class cannot be found.java.lang.IllegalAccessException
- If the method cannot be accessed.java.lang.reflect.InvocationTargetException
- If the target of the invokation is invalid.java.lang.NoSuchMethodException
- If the main entry method cannot be found.NoSuchRealmException
- If the main entry realm cannot be found.public static void main(java.lang.String[] args)
args
- The application command-line arguments.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |