org.oddjob.oddballs
Class OddballsDescriptorFactory

java.lang.Object
  extended by org.oddjob.oddballs.OddballsDescriptorFactory
All Implemented Interfaces:
ArooaDescriptorFactory

public class OddballsDescriptorFactory
extends Object
implements ArooaDescriptorFactory

Description

Create Oddjob job definition descriptors from any number of directories that follow the Oddball format.

The Oddball directory structure is:

 myball
   classes
     com
       acme
         MyStuff.class
   lib
     someutil.jar
 
You can have either a lib or classes or both but you must have something.

Additionally there can be as many META-INF/arooa.xml resources on that confirm to the ArooaDescriptorBean format for defining element mappings and conversions.

Example

Loading two Oddballs.
<oddjob id="this">
    <job>
        <oddjob file="${this.args[0]}/test/launch/oddballs-launch.xml">
            <descriptorFactory>
                <oddballs>
                    <files>
                        <files>
                            <list>
                                <file file="${this.args[0]}/test/oddballs/apple"/>
                                <file file="${this.args[0]}/test/oddballs/orange"/>
                            </list>
                        </files>
                    </files>
                </oddballs>
            </descriptorFactory>
        </oddjob>
    </job>
</oddjob>
This is equivalent to launching Oddjob with the oddball path option set as in:
 java -jar run-oddjob.jar \
      -op test/oddballs/apple:test/oddballs/orange \
      -f test/launch/oddballs-launch.xml 
 
Or if the test/oddballs directory only contains these two directories, then using the oddball directory option:
 java -jar run-oddjob.jar \
      -ob test/oddballs \
      -f test/launch/oddballs-launch.xml 
 
If the apple and orange directories were copied to Oddjob's Oddballs directory they would be loaded by default.
Author:
rob

Constructor Summary
OddballsDescriptorFactory()
           
OddballsDescriptorFactory(File[] files)
           
OddballsDescriptorFactory(File[] files, OddballFactory oddballFactory)
           
 
Method Summary
 ArooaDescriptor createDescriptor(ClassLoader classLoader)
          Create an ArooaDesciptor.
 File[] getFiles()
           
 OddballFactory getOddballFactory()
           
 void setFiles(File[] baseDir)
           
 void setOddballFactory(OddballFactory oddballFactory)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OddballsDescriptorFactory

public OddballsDescriptorFactory()

OddballsDescriptorFactory

public OddballsDescriptorFactory(File[] files)

OddballsDescriptorFactory

public OddballsDescriptorFactory(File[] files,
                                 OddballFactory oddballFactory)
Method Detail

getFiles

public File[] getFiles()

setFiles

public void setFiles(File[] baseDir)

getOddballFactory

public OddballFactory getOddballFactory()

setOddballFactory

public void setOddballFactory(OddballFactory oddballFactory)

createDescriptor

public ArooaDescriptor createDescriptor(ClassLoader classLoader)
Description copied from interface: ArooaDescriptorFactory
Create an ArooaDesciptor.

Specified by:
createDescriptor in interface ArooaDescriptorFactory
Parameters:
classLoader - The classLoader to use.
Returns:
An ArooaDescriptor. May be null.

toString

public String toString()
Overrides:
toString in class Object