swarm.activity
Class ScheduleImpl

java.lang.Object
  |
  +--swarm.BaseImpl
        |
        +--swarm.activity.ScheduleImpl

public class ScheduleImpl
extends BaseImpl
implements Map, MapS, CompoundAction, CompoundActionS, ActionCreating, ActionCreatingS, RelativeTime, RelativeTimeS, RepeatInterval, RepeatIntervalS, ConcurrentGroupType, ConcurrentGroupTypeS, SingletonGroups, SingletonGroupsS, ScheduleS, Schedule

A collection of actions ordered by time values.. A schedule is compound action whose basic representation is a sorted Map of actions that have been created within it. The key value associated with each of these actions is an unsigned integer value for which the typedef timeval_t is supplied. A schedule inherits its underlying representation from the Map type of the collections library. All the members of the ordered set must consist only of actions that are created by one of the createAction messages defined on Schedule itself. Once the actions are created, they may be accessed or traversed using standard messages of the Map type. The key values of this collection, however, must be cast to and from the id type defined for key values by the Map type. The messages to create actions within a schedule are essentially the same as those for ActionGroup, except for the presence of an initial at: argument indicating the time at which an action is to be performed. Except for the time associated with each action, meaning of the createAction messages is the same as for ActionGroup. When multiple actions are all scheduled at the same time, they are all inserted into a concurrent action group created for that time value. The ConcurrentGroupType option may be used to override the default action group for these concurrent actions by a custom user-defined subclass. (.. Details of doing this are not yet documented, but there are examples.)


Constructor Summary
ScheduleImpl()
           
ScheduleImpl(Zone aZone)
          The create: message creates a new instance of a type with default options.
ScheduleImpl(Zone aZone, boolean autoDrop)
          Convenience method for creating an AutoDrop Schedule
ScheduleImpl(Zone aZone, int rptInterval)
          Convenience method for creating a repeating Schedule
 
Methods implemented by this class for interface swarm.collections.Map
at$insert, at$replace, mapBegin
 
Methods implemented by this class for interface swarm.activity.ActionCreating
createAction
 
Methods implemented by this class for interface swarm.activity.RelativeTime
getRelativeTime
 
Methods implemented by this class for interface swarm.activity.RelativeTimeS
setRelativeTime
 
Methods implemented by this class for interface swarm.activity.RepeatInterval
getRepeatInterval
 
Methods implemented by this class for interface swarm.activity.RepeatIntervalS
setRepeatInterval
 
Methods implemented by this class for interface swarm.activity.ConcurrentGroupType
getConcurrentGroupType
 
Methods implemented by this class for interface swarm.activity.ConcurrentGroupTypeS
setConcurrentGroupType
 
Methods implemented by this class for interface swarm.activity.SingletonGroups
getSingletonGroups
 
Methods implemented by this class for interface swarm.activity.SingletonGroupsS
setSingletonGroups
 
Methods implemented by this class for interface swarm.activity.Schedule
at$createAction, at$createActionForEach$message, at$createActionForEach$message, at$createActionForEach$message, at$createActionForEach$message, at$createActionForEachHomogeneous$message, at$createActionTo$message, at$createActionTo$message, at$createActionTo$message, at$createActionTo$message, at$createFAction, at$createFActionForEachHeterogeneous$call, at$createFActionForEachHomogeneous$call, insertGroup, remove
 
Methods implemented by this class for interface swarm.collections.KeyedCollection
at, containsKey, createIndex$fromMember, removeKey
 
Methods implemented by this class for interface swarm.defobj.Serialization
hdf5OutDeep, hdf5OutShallow, lispOutDeep, lispOutShallow, lispOutVars$deep, lispSaveStream$Boolean$Value, lispSaveStream$Char$Value, lispSaveStream$Double$Value, lispSaveStream$Float$Value, lispSaveStream$Integer$Value, lispSaveStream$Long$Value, lispSaveStream$LongLong$Value, lispSaveStream$Short$Value, lispSaveStream$Unsigned$Value, lispSaveStream$UnsignedLong$Value, lispSaveStream$UnsignedLongLong$Value, lispSaveStream$UnsignedShort$Value, updateArchiver
 
Methods implemented by this class for interface swarm.defobj.SerializationS
hdf5In, lispIn
 
Methods implemented by this class for interface swarm.collections.Collection
allSameClass, begin, beginPermuted, contains, copy, deleteAll, getCount, getReplaceOnly, remove, removeAll
 
Methods implemented by this class for interface swarm.collections.ForEachKey
forEachKey, forEachKey, forEachKey, forEachKey
 
Methods implemented by this class for interface swarm.defobj.Copy
copy
 
Methods implemented by this class for interface swarm.defobj.Drop
drop
 
Methods implemented by this class for interface swarm.collections.Offsets
atOffset, atOffset$put, getFirst, getLast
 
Methods implemented by this class for interface swarm.collections.ForEach
describeForEach, describeForEachID, forEach, forEach, forEach, forEach
 
Methods implemented by this class for interface swarm.defobj.DefinedObject
compare, describe, describeID, getDisplayName, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods implemented by this class for interface swarm.defobj.GetName
getName
 
Methods implemented by this class for interface swarm.activity.ActionType
activateIn
 
Methods implemented by this class for interface swarm.activity.AutoDrop
getAutoDrop
 
Methods implemented by this class for interface swarm.activity.DefaultOrder
getDefaultOrder
 
Methods implemented by this class for interface swarm.activity.DefaultOrderS
setDefaultOrder
 
Methods implemented by this class for interface swarm.activity.FActionCreating
createFAction
 
Methods implemented by this class for interface swarm.activity.ActionCreatingTo
createActionTo$message, createActionTo$message, createActionTo$message, createActionTo$message
 
Methods implemented by this class for interface swarm.activity.ActionCreatingForEach
createActionForEach$message, createActionForEach$message, createActionForEach$message, createActionForEach$message, createActionForEachHomogeneous$message
 
Methods implemented by this class for interface swarm.activity.FActionCreatingForEachHeterogeneous
createFActionForEachHeterogeneous$call
 
Methods implemented by this class for interface swarm.activity.FActionCreatingForEachHomogeneous
createFActionForEachHomogeneous$call
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScheduleImpl

public ScheduleImpl()

ScheduleImpl

public ScheduleImpl(Zone aZone,
                    boolean autoDrop)
Convenience method for creating an AutoDrop Schedule

ScheduleImpl

public ScheduleImpl(Zone aZone,
                    int rptInterval)
Convenience method for creating a repeating Schedule

ScheduleImpl

public ScheduleImpl(Zone aZone)
The create: message creates a new instance of a type with default options. The zone argument specifies the source of storage for the new object. The receiving object of this message is a previously defined type object. The message is declared as a class message (with a + declaration tag) to indicate that the message is accepted only by the type object itself rather than an already created instance of the type (which a - declaration tag otherwise defines). The create: message returns the new object just created. This object is an instance of some class selected to implement the type. The class which a type selects to implement an object may be obtained by the getClass message, but is not otherwise visible to the calling program. A caller never refers to any class name when creating objects using these messages, only to type names, which are automatically published as global constants from any @protocol declaration.