Class AbstractGroupFactory<Obj extends Group>

All Implemented Interfaces:
Cloneable

public abstract class AbstractGroupFactory<Obj extends Group> extends GenericGroupFactory<AbstractGroupFactory<Obj>,DramaSimulation,Actor,Condition,Domain,DomainMember,DramaFactory,Group,Obj>
Abstract Group factory. This class is the base class for factories that create subclasses of org.bzdev.drama.Group. Generally, there will be a class hierarchy of abstract factories matching the class hierarchy for subclasses of Group, each responsible for providing parameters for the corresponding Group subclass, plus a factory that is not abstract for each class that can be created.

The parameters defined by this factory are:

  • domains. Used to clear a set of domains explicitly provided, but cannot be used to set or add domains.
  • domain. Used to specify a domain that can added or removed from the group's domain set.
The parameters inherited from superclasses are:
  • "timeline" - an integer-keyed set of values that define changes in the object's configuration. Subclasses may provide additional parameters. The default parameters are:
    • "timeline.time" - the time at which timeline parameters are to change. This parameter must be provided if a timeline entry exists. The units are those used by the double-precision time unit for the simulation (for animations, this is generally seconds).
    • "timeline.traceSetMode" - indicates how the parameter "timeline.traceSets" is interpreted. the values are enumeration constants of type TraceSetMode and are used as follows:
      • KEEP - keep the existing trace sets, adding additional ones specified by the parameter "timeline.traceSets".
      • REMOVE - remove the trace sets specified by the parameter "timeline.traceSets".
      • REPLACE - remove all existing trace sets and replace those with the ones specified by the timeline.traceSets parameter.
    • "timeline.traceSets" - a parameter representing a set of TraceSet objects (the three-argument 'add' method is used to add entries).
  • "traceSets" - a set of TraceSets a SimObject will use for tracing. One should use the add and remove factory methods as this parameter refers to a set of values.
  • Constructor Details

    • AbstractGroupFactory

      protected AbstractGroupFactory(DramaSimulation sim)
      Constructor.
      Parameters:
      sim - the simulation associated with this factory