Class ListSource<T>

All Implemented Interfaces:
Serializable, Runnable, ArooaContextAware, ArooaSessionAware, Outbound<CompositeEvent<T>>, PropertyChangeNotifier, Iconic, LogEnabled, Resettable, Stateful, Stoppable, Structural

public class ListSource<T> extends EventServiceBase<CompositeEvent<T>> implements Serializable, Structural
Author:
Rob Gordon
See Also:

Description

An event source that aggregates a list of child event sources. The events are aggregated according to the provided EventOperator which defaults to AllEvents.

Example

Trigger on a list of state expressions.
<oddjob>

    <job>

        <sequential>

            <jobs>

                <events:when id="when" xmlns:events="oddjob:events">

                    <jobs>

                        <events:list>

                            <of>

                                <events:watch name="Is Job 1 Complete">

                                    <eventSource>

                                        <state:watch xmlns:state="http://rgordon.co.uk/oddjob/state">

                                            job1 is COMPLETE

                                        </state:watch>

                                    </eventSource>

                                </events:watch>

                                <events:watch name="Is Job 2 Complete">

                                    <eventSource>

                                        <state:watch xmlns:state="http://rgordon.co.uk/oddjob/state">

                                            job2 is COMPLETE

                                        </state:watch>

                                    </eventSource>

                                </events:watch>

                            </of>

                        </events:list>

                        <echo id="job3" name="Job 3">

                            It's Done on ${when.trigger}

                        </echo>

                    </jobs>

                </events:when>

                <folder>

                    <jobs>

                        <echo id="job1" name="Job 1">

                            Hello

                        </echo>

                        <echo id="job2" name="Job 2">

                            World

                        </echo>

                    </jobs>

                </folder>

            </jobs>

        </sequential>

    </job>

</oddjob>