swarm.activity
Interface Schedule

All Known Subinterfaces:
ConcurrentSchedule
All Known Implementing Classes:
ConcurrentScheduleImpl, ScheduleImpl

public interface Schedule
extends Map, MapS, CompoundAction, CompoundActionS, ActionCreating, ActionCreatingS, RelativeTime, RelativeTimeS, RepeatInterval, RepeatIntervalS, ConcurrentGroupType, ConcurrentGroupTypeS, SingletonGroups, SingletonGroupsS

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.)


Method Summary
 java.lang.Object at$createAction(int tVal, java.lang.Object anActionType)
           
 ActionForEach at$createActionForEach$message(int tVal, java.lang.Object target, Selector aSel)
           
 ActionForEach at$createActionForEach$message(int tVal, java.lang.Object target, Selector aSel, java.lang.Object arg1)
           
 ActionForEach at$createActionForEach$message(int tVal, java.lang.Object target, Selector aSel, java.lang.Object arg1, java.lang.Object arg2)
           
 ActionForEach at$createActionForEach$message(int tVal, java.lang.Object target, Selector aSel, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
           
 ActionForEachHomogeneous at$createActionForEachHomogeneous$message(int tVal, java.lang.Object target, Selector aSel)
           
 ActionTo at$createActionTo$message(int tVal, java.lang.Object target, Selector aSel)
           
 ActionTo at$createActionTo$message(int tVal, java.lang.Object target, Selector aSel, java.lang.Object arg1)
           
 ActionTo at$createActionTo$message(int tVal, java.lang.Object target, Selector aSel, java.lang.Object arg1, java.lang.Object arg2)
           
 ActionTo at$createActionTo$message(int tVal, java.lang.Object target, Selector aSel, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
           
 FAction at$createFAction(int tVal, FCall call)
           
 FActionForEachHeterogeneous at$createFActionForEachHeterogeneous$call(int tVal, java.lang.Object target, FCall call)
           
 FActionForEachHomogeneous at$createFActionForEachHomogeneous$call(int tVal, java.lang.Object target, FCall call)
           
 ActionGroup insertGroup(int tVal)
           
 java.lang.Object remove(java.lang.Object anAction)
          Remove action from either schedule or concurrent group.
 
Methods inherited from interface swarm.collections.Map
at$insert, at$replace, mapBegin
 
Methods inherited from interface swarm.activity.ActionCreating
createAction
 
Methods inherited from interface swarm.activity.RelativeTime
getRelativeTime
 
Methods inherited from interface swarm.activity.RelativeTimeS
setRelativeTime
 
Methods inherited from interface swarm.activity.RepeatInterval
getRepeatInterval
 
Methods inherited from interface swarm.activity.RepeatIntervalS
setRepeatInterval
 
Methods inherited from interface swarm.activity.ConcurrentGroupType
getConcurrentGroupType
 
Methods inherited from interface swarm.activity.ConcurrentGroupTypeS
setConcurrentGroupType
 
Methods inherited from interface swarm.activity.SingletonGroups
getSingletonGroups
 
Methods inherited from interface swarm.activity.SingletonGroupsS
setSingletonGroups
 
Methods inherited from interface swarm.collections.KeyedCollection
at, containsKey, createIndex$fromMember, removeKey
 
Methods inherited from 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 inherited from interface swarm.collections.ForEachKey
forEachKey, forEachKey, forEachKey, forEachKey
 
Methods inherited from interface swarm.activity.ActionType
activateIn
 
Methods inherited from interface swarm.activity.AutoDrop
getAutoDrop
 
Methods inherited from interface swarm.activity.DefaultOrder
getDefaultOrder
 
Methods inherited from interface swarm.activity.FActionCreating
createFAction
 
Methods inherited from interface swarm.activity.ActionCreatingTo
createActionTo$message, createActionTo$message, createActionTo$message, createActionTo$message
 
Methods inherited from interface swarm.activity.ActionCreatingForEach
createActionForEach$message, createActionForEach$message, createActionForEach$message, createActionForEach$message, createActionForEachHomogeneous$message
 
Methods inherited from interface swarm.activity.FActionCreatingForEachHeterogeneous
createFActionForEachHeterogeneous$call
 
Methods inherited from interface swarm.activity.FActionCreatingForEachHomogeneous
createFActionForEachHomogeneous$call
 

Method Detail

at$createAction

public java.lang.Object at$createAction(int tVal,
                                        java.lang.Object anActionType)

at$createFAction

public FAction at$createFAction(int tVal,
                                FCall call)

at$createActionTo$message

public ActionTo at$createActionTo$message(int tVal,
                                          java.lang.Object target,
                                          Selector aSel)

at$createActionTo$message

public ActionTo at$createActionTo$message(int tVal,
                                          java.lang.Object target,
                                          Selector aSel,
                                          java.lang.Object arg1)

at$createActionTo$message

public ActionTo at$createActionTo$message(int tVal,
                                          java.lang.Object target,
                                          Selector aSel,
                                          java.lang.Object arg1,
                                          java.lang.Object arg2)

at$createActionTo$message

public ActionTo at$createActionTo$message(int tVal,
                                          java.lang.Object target,
                                          Selector aSel,
                                          java.lang.Object arg1,
                                          java.lang.Object arg2,
                                          java.lang.Object arg3)

at$createActionForEachHomogeneous$message

public ActionForEachHomogeneous at$createActionForEachHomogeneous$message(int tVal,
                                                                          java.lang.Object target,
                                                                          Selector aSel)

at$createActionForEach$message

public ActionForEach at$createActionForEach$message(int tVal,
                                                    java.lang.Object target,
                                                    Selector aSel)

at$createActionForEach$message

public ActionForEach at$createActionForEach$message(int tVal,
                                                    java.lang.Object target,
                                                    Selector aSel,
                                                    java.lang.Object arg1)

at$createActionForEach$message

public ActionForEach at$createActionForEach$message(int tVal,
                                                    java.lang.Object target,
                                                    Selector aSel,
                                                    java.lang.Object arg1,
                                                    java.lang.Object arg2)

at$createActionForEach$message

public ActionForEach at$createActionForEach$message(int tVal,
                                                    java.lang.Object target,
                                                    Selector aSel,
                                                    java.lang.Object arg1,
                                                    java.lang.Object arg2,
                                                    java.lang.Object arg3)

at$createFActionForEachHeterogeneous$call

public FActionForEachHeterogeneous at$createFActionForEachHeterogeneous$call(int tVal,
                                                                             java.lang.Object target,
                                                                             FCall call)

at$createFActionForEachHomogeneous$call

public FActionForEachHomogeneous at$createFActionForEachHomogeneous$call(int tVal,
                                                                         java.lang.Object target,
                                                                         FCall call)

remove

public java.lang.Object remove(java.lang.Object anAction)
Remove action from either schedule or concurrent group.

insertGroup

public ActionGroup insertGroup(int tVal)