java.lang.Object
org.bzdev.obnaming.NamedObjectFactory<F,Simulation,SimObject,OBJ>
org.bzdev.devqsim.SimObjectFactory<OF,S,Obj>
org.bzdev.drama.generic.GenericActorFactory<AbstractActorFactory<Obj>,DramaSimulation,Actor,Condition,Domain,DomainMember,DramaFactory,Group,Obj>
org.bzdev.drama.AbstractActorFactory<Obj>
- All Implemented Interfaces:
Cloneable
public abstract class AbstractActorFactory<Obj extends Actor>
extends GenericActorFactory<AbstractActorFactory<Obj>,DramaSimulation,Actor,Condition,Domain,DomainMember,DramaFactory,Group,Obj>
Abstract Actor factory.
This class is the base class for factories that create subclasses
of org.bzdev.drama.Actor.
Generally, there will be a class hierarchy of abstract factories matching the class hierarchy for subclasses of Actor, each responsible for providing parameters for the corresponding Actor subclass, plus a factory that is not abstract for each class that can be created.
The parameters defined by this factory are:
- "domainMember". Used to configure an instance of DomainMember for handling domain membership.
- "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 actor's domain set. For this parameter, the key is the domain and the value is a boolean that is true if conditions for that domain should be tracked; false otherwise. If a specified domain was already joined by a shared domain member, an explicit request to join that domain will be ignored when an actor is created.
- "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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.bzdev.obnaming.NamedObjectFactory
NamedObjectFactory.ConfigException, NamedObjectFactory.IndexedSetter, NamedObjectFactory.ParmNameIterator
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.bzdev.drama.generic.GenericActorFactory
clear, clone, initObject
Methods inherited from class org.bzdev.devqsim.SimObjectFactory
addToTimelineRequest, addToTimelineResponse, getSimulation
Methods inherited from class org.bzdev.obnaming.NamedObjectFactory
add, add, add, add, add, add, add, add, addDocResourceBundle, addDocResourceBundle, addJDoc, addJDoc, addLabelResourceBundle, addLabelResourceBundle, addTipResourceBundle, addTipResourceBundle, arrayInit, canAdd3, clear, configure, configureSupported, containsParm, createObject, createObject, createObject, createObject, createObjects, createObjects, createObjects, createObjects, createObjects, createObjects, doAfterInits, endObjectCreation, getDoc, getFactoryClass, getGLB, getLabel, getLayoutResource, getListedFactories, getLUB, getNextName, getNextNameIndex, getObjectNamer, getParmKeyType, getParmPrefix, getRVMode, getTemplateKeyMap, getTemplateKeyMapForFactories, getTemplateKeyMapForFactories, getTemplateKeyMapForFactories, getTip, getType, glbInRange, initParm, initParms, initParms, isClearOnly, isNamedObject, isRandomVariable, keyType, lubInRange, mustAdd, newConfigExceptionInstance, newConfigExceptionInstance, newConfigExceptionInstance, newConfigExceptionInstance, newConfigExceptionInstance, newConfigExceptionInstance, newConfigExceptionInstance, newInstance, newInstance, newObject, parmNames, parmNameSet, parmPrefixes, remove, remove, remove, remove, remove, remove, remove, remove, removeParm, removeParms, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, setDocAPIBase, setInterned, setLayoutResource, setLayoutResource, setNameRoot, setTarget, startObjectCreation, unset, unset, unset, unset, unset, unset, willIntern
-
Constructor Details
-
AbstractActorFactory
Constructor.- Parameters:
sim
- the simulation associated with this factory
-