org.codehaus.groovy.tools
Class LoaderConfiguration

java.lang.Object
  extended byorg.codehaus.groovy.tools.LoaderConfiguration

public class LoaderConfiguration
extends Object

class used to configure a RootLoader from a stream or by using it's methods. The stream can be for example a FileInputStream from a file with the following format: # comment main is classname load path load file load pathWith${property} load path/*.jar

Defining the main class is optional if @see #setRequireMain(boolean) was called with false, before reading the configuration. You can use the wildcard "*" to filter the path, but only for files, not directories. The ${propertyname} is replaced by the value of the system's propertyname. You can use user.home here for example. If the property does not exist, an empty string will be used. If the path or file after the load does not exist, the path will be ignored.

Version:
$Revision: 1.2 $
Author:
Jochen Theodorou
See Also:
RootLoader

Constructor Summary
LoaderConfiguration()
          creates a new loader configuration
 
Method Summary
 void addClassPath(String path)
          adds a classpath to this configuration.
 void addFile(File f)
          adds a file to the classpath if it does exist
 void addFile(String s)
          adds a file to the classpath if it does exist
 void configure(InputStream is)
          configures this loader with a stream
 URL[] getClassPathUrls()
          gets a classpath as URL[] from this configuration.
 String getMainClass()
          returns the main class or null is no is defined
 void setMainClass(String clazz)
          sets the main class.
 void setRequireMain(boolean requireMain)
          if set to false no main class is required when calling
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LoaderConfiguration

public LoaderConfiguration()
creates a new loader configuration

Method Detail

configure

public void configure(InputStream is)
               throws IOException
configures this loader with a stream

Parameters:
is - stream used to read the configuration
Throws:
IOException - if reading or parsing the contents of the stream fails

addFile

public void addFile(File f)
adds a file to the classpath if it does exist


addFile

public void addFile(String s)
adds a file to the classpath if it does exist


addClassPath

public void addClassPath(String path)
adds a classpath to this configuration. It expects a string with multiple paths, seperated by the system dependent

See Also:
File.pathSeparator

getClassPathUrls

public URL[] getClassPathUrls()
gets a classpath as URL[] from this configuration. This can be used to construct a @see java.net.URLClassLoader


getMainClass

public String getMainClass()
returns the main class or null is no is defined


setMainClass

public void setMainClass(String clazz)
sets the main class. If there is already a main class it is overwritten. Calling @see #configure(InputStream) after calling this method does not require a main class definition inside the stream


setRequireMain

public void setRequireMain(boolean requireMain)
if set to false no main class is required when calling

See Also:
configure(InputStream)


Copyright © 2003-2007 The Codehaus. All Rights Reserved.