org.oddjob.arooa.deploy
Class ListDescriptorBean

java.lang.Object
  extended by org.oddjob.arooa.deploy.ListDescriptorBean
All Implemented Interfaces:
ArooaDescriptorFactory

public class ListDescriptorBean
extends Object
implements ArooaDescriptorFactory

Description

An Arooa Descriptor Factory that is a container for a collection of other descriptors. The other descriptors will most probably be ArooaDescriptorBeans.

This type can be used wherever an ArooaDescriptorBean can be used.

Example

Oddjob's descriptor!. Note that it started life before the descriptor elements were created, and so IsType is used instead of BeanDefinition elements.
<arooa:descriptors xmlns:arooa="http://rgordon.co.uk/oddjob/arooa">
    <descriptors>
        <bean class="org.oddjob.arooa.deploy.ArooaDescriptorDescriptorFactory"/>
        <arooa:descriptor>
            <conversions>
                <value value="org.oddjob.state.StateConditions$Conversions"/>
                <value value="org.oddjob.state.StateOperators$Conversions"/>
                <value value="org.oddjob.values.types.DateType$Conversions"/>
                <value value="org.oddjob.values.types.FormatType$Conversions"/>
                <value value="org.oddjob.values.types.TokenizerType$Conversions"/>
                <value value="org.oddjob.script.InvokeType$Conversions"/>
                <value value="org.oddjob.script.ScriptInvoker$Conversions"/>
                <value value="org.oddjob.script.MethodInvoker$Conversions"/>
                <value value="org.oddjob.schedules.ScheduleType$Conversions"/>
                <value value="org.oddjob.values.types.PropertyType$Conversions"/>
                <value value="org.oddjob.values.properties.PropertiesType$Conversions"/>
                <value value="org.oddjob.sql.SQLConversions"/>
            </conversions>
            <components>
                <is element="archive" className="org.oddjob.persist.ArchiveJob"/>
                <is element="archive-browser" className="org.oddjob.persist.ArchiveBrowserJob"/>
                <is element="bean-bus" className="org.oddjob.beanbus.mega.MegaBeanBus" designFactory="org.oddjob.arooa.design.etc.UnknownComponentDF"/>
                <is element="bean-report" className="org.oddjob.jobs.BeanReportJob"/>
                <is element="check" className="org.oddjob.jobs.CheckJob" designFactory="org.oddjob.jobs.CheckJobDesFa"/>
                <is element="depends" className="org.oddjob.jobs.job.DependsJob" designFactory="org.oddjob.designer.components.JustJobDC"/>
                <is element="echo" className="org.oddjob.jobs.EchoJob" designFactory="org.oddjob.designer.components.EchoDC"/>
                <is element="exec" className="org.oddjob.jobs.ExecJob" designFactory="org.oddjob.designer.components.ExecDC"/>
                <is element="explorer" className="org.oddjob.monitor.MultiExplorerLauncher"/>
                <is element="folder" className="org.oddjob.jobs.structural.JobFolder" designFactory="org.oddjob.designer.components.FolderDC">
                    <properties>
                        <arooa:property name="jobs" type="COMPONENT"/>
                    </properties>
                </is>
                <is element="foreach" className="org.oddjob.jobs.structural.ForEachJob" designFactory="org.oddjob.designer.components.ForEachDC"/>
                <is element="grab" className="org.oddjob.jobs.GrabJob"/>
                <is element="input" className="org.oddjob.input.InputJob"/>
                <is element="invoke" className="org.oddjob.script.InvokeJob"/>
                <is element="launch" className="org.oddjob.jobs.LaunchJob"/>
                <is element="oddjob" className="org.oddjob.Oddjob" designFactory="org.oddjob.designer.components.OddjobDC"/>
                <is element="parallel" className="org.oddjob.jobs.structural.ParallelJob" designFactory="org.oddjob.designer.components.ParallelDC"/>
                <is element="properties" className="org.oddjob.values.properties.PropertiesJob" designFactory="org.oddjob.values.properties.PropertiesDesFa"/>
                <is element="reset" className="org.oddjob.jobs.job.ResetJob" designFactory="org.oddjob.designer.components.ResetJobDC"/>
                <is element="repeat" className="org.oddjob.jobs.structural.RepeatJob" designFactory="org.oddjob.designer.components.RepeatDC"/>
                <is element="rmireg" className="org.oddjob.rmi.RMIRegistryJob"/>
                <is element="run" className="org.oddjob.jobs.job.RunJob" designFactory="org.oddjob.designer.components.JustJobDC"/>
                <arooa:bean-def element="script" className="org.oddjob.script.ScriptJob" designFactory="org.oddjob.script.ScriptDesFa"/>
                <is element="sequence" className="org.oddjob.jobs.SequenceJob"/>
                <is element="sequential" className="org.oddjob.jobs.structural.SequentialJob" designFactory="org.oddjob.designer.components.SequentialDC"/>
                <is element="services" className="org.oddjob.framework.ServicesJob"/>
                <is element="set" className="org.oddjob.values.SetJob"/>
                <is element="sql" className="org.oddjob.sql.SQLJob" designFactory="org.oddjob.designer.components.SqlDC"/>
                <is element="sql-keeper-service" className="org.oddjob.sql.SQLKeeperService"/>
                <is element="sql-persister-service" className="org.oddjob.sql.SQLPersisterService"/>
                <is element="start" className="org.oddjob.jobs.job.StartJob" designFactory="org.oddjob.designer.components.JustJobDC"/>
                <is element="stop" className="org.oddjob.jobs.job.StopJob" designFactory="org.oddjob.designer.components.JustJobDC"/>
                <is element="wait" className="org.oddjob.jobs.WaitJob" designFactory="org.oddjob.designer.components.WaitDC"/>
            </components>
            <values>
                <is element="connection" className="org.oddjob.sql.ConnectionType" designFactory="org.oddjob.designer.elements.ConnectionDE"/>
                <is element="date" className="org.oddjob.values.types.DateType" designFactory="org.oddjob.designer.elements.DateDE"/>
                <is element="file-persister" className="org.oddjob.persist.FilePersister"/>
                <is element="format" className="org.oddjob.values.types.FormatType" designFactory="org.oddjob.designer.elements.FormatDE"/>
                <is element="invoke" className="org.oddjob.script.InvokeType"/>
                <is element="input-text" className="org.oddjob.input.requests.InputText"/>
                <is element="input-password" className="org.oddjob.input.requests.InputPassword"/>
                <is element="input-confirm" className="org.oddjob.input.requests.InputConfirm"/>
                <is element="input-message" className="org.oddjob.input.requests.InputMessage"/>
                <is element="input-file" className="org.oddjob.input.requests.InputFile"/>
                <is element="logout" className="org.oddjob.logging.log4j.LogoutType"/>
                <!-- is element='magic-bean' className='org.oddjob.values.types.MagicBeanType'/ -->
                <is element="magic-class" className="org.oddjob.values.types.MagicClassType"/>
                <is element="schedule" className="org.oddjob.schedules.ScheduleType"/>
                <is element="oddballs" className="org.oddjob.oddballs.OddballsDescriptorFactory"/>
                <is element="properties" className="org.oddjob.values.properties.PropertiesType" designFactory="org.oddjob.values.properties.PropertiesDesFa"/>
                <is element="sql-results-bean" className="org.oddjob.sql.SQLResultsBean"/>
                <is element="sql-results-sheet" className="org.oddjob.sql.SQLResultsSheet"/>
                <is element="throttle" className="org.oddjob.scheduling.ExecutorThrottleType"/>
                <is element="tokenizer" className="org.oddjob.values.types.TokenizerType"/>
                <is element="url-class-loader" className="org.oddjob.util.URLClassLoaderType"/>
            </values>
        </arooa:descriptor>
        <import resource="org/oddjob/io/arooa.xml"/>
        <import resource="org/oddjob/schedules/schedules.xml"/>
        <import resource="org/oddjob/scheduling/scheduling.xml"/>
        <import resource="org/oddjob/state/state.xml"/>
        <import resource="org/oddjob/jmx/jmx.xml"/>
        <bean class="org.oddjob.values.VariablesJobDescriptorFactory"/>
    </descriptors>
</arooa:descriptors>
Author:
rob

Constructor Summary
ListDescriptorBean()
          Create an empty instance.
ListDescriptorBean(Collection<? extends ArooaDescriptorFactory> collection)
          Create an instance from an existing collection of ArooaDescriptorFactorys.
 
Method Summary
 ArooaDescriptor createDescriptor(ClassLoader loader)
          Create an ArooaDesciptor.
 void setDescriptors(int index, ArooaDescriptorFactory descriptor)
          Indexed setter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListDescriptorBean

public ListDescriptorBean()
Create an empty instance.


ListDescriptorBean

public ListDescriptorBean(Collection<? extends ArooaDescriptorFactory> collection)
Create an instance from an existing collection of ArooaDescriptorFactorys.

Parameters:
collection -
Method Detail

setDescriptors

public void setDescriptors(int index,
                           ArooaDescriptorFactory descriptor)
Indexed setter.

Parameters:
index -
descriptor -

createDescriptor

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

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