JMSL Tutorial: Collections

In this tutorial, we introduce a stricter notion of hierarchies, specifically as they are implemented in Collections.

A MusicJob, as you recall, is a JMSL class that does something on a schedule. A MusicJob can be put into a hierarchy like the one shown below, because it implements the Composable interface. The Composable interface provides methods for communicating scheduling information from child to parent, and from parent to child.
      mySequentialCollection
    __________|____________
    |         |           |
 MusicJob  MusicJob  MusicJob


The hierarchy shown above will launch each MusicJob in sequence, one after the other. Each will go through its start(), repeat(), stop() cycle before the next MusicJob gets launched.

So clearly, there has to be a way for a MusicJob child to let its parent know when it is finished, and for the parent to tell the next child to get started. The Composable interface provides this means.

You really don't need to know the ins and outs of the Composable interface, because most of the time you will be customizing predefined Composables like MusicJob, ParallelCollection, and SequentialCollection instead of building your own from scratch. However, for more details on this interface, see the JMSL documentation on Composable.

Now let's find out how to build collections.

Previous Tutorial Index Tutorial Contents Next
  (C) 1997 Phil Burk and Nick Didkovsky, All Rights Reserved
  JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.