Module org.bzdev.drama
Package org.bzdev.drama
Class AbstractDoubleCondFactory<Obj extends DoubleCondition>
java.lang.Object
org.bzdev.obnaming.NamedObjectFactory<F,Simulation,SimObject,OBJ>
org.bzdev.devqsim.SimObjectFactory<OF,S,Obj>
org.bzdev.drama.generic.GenericCondFactory<AbstractConditionFactory<Obj>,DramaSimulation,Actor,Condition,Domain,DomainMember,DramaFactory,Group,Obj>
org.bzdev.drama.AbstractConditionFactory<Obj>
org.bzdev.drama.AbstractDoubleCondFactory<Obj>
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
DoubleConditionFactory
public abstract class AbstractDoubleCondFactory<Obj extends DoubleCondition>
extends AbstractConditionFactory<Obj>
Simulation factory for subclasses of DoubleCondition.
Generally, there will be a class hierarchy of abstract factories matching the class hierarchy for subclasses of the class a factory creates, each responsible for providing parameters for the corresponding subclass. In addition, there will typically be a factory that is not abstract for each class that can be created.
The factory parameters this factory provides are the same as the parameters
provided by its subclass DoubleConditionFactory
:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.bzdev.obnaming.NamedObjectFactory
NamedObjectFactory.ConfigException, NamedObjectFactory.IndexedSetter, NamedObjectFactory.ParmNameIterator
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addToTimelineRequest
(Obj object, int key, double time) Request subclasses to add entries to the timeline.void
clear()
Clear all entries and restore to default values.protected void
initInitialValueParm
(Double min, boolean minClosed, Double max, boolean maxClosed, double defaultInitialValue) Add the initialValue parameter.protected void
initObject
(Obj object) Initialize an object.Methods inherited from class org.bzdev.devqsim.SimObjectFactory
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
-
AbstractDoubleCondFactory
Constructor. Subclasses must call this constructor.- Parameters:
sim
- the simulation
-
-
Method Details
-
initInitialValueParm
protected void initInitialValueParm(Double min, boolean minClosed, Double max, boolean maxClosed, double defaultInitialValue) Add the initialValue parameter. This should be called by a subclass' constructor immediately after the superclass' constructor is called.- Parameters:
min
- the minimum value; null if there is no lower boundminClosed
- true if min is included in the range of acceptable values; false otherwisemax
- the maximum value; null if there is no upper boundmaxClosed
- true if max is included in the range of acceptable values; false otherwisedefaultInitialValue
- the default initial value.
-
clear
public void clear()Description copied from class:NamedObjectFactory
Clear all entries and restore to default values. Note: each subclass that implements this method should callsuper.clear()
. Any subclass that defines parameters should call this method in order to restore the parameters to their default values. When an annotation processor is used for some parameters, those parameters can be restored to their default value by calling the parm manager's setDefaults method with the factory as its argument.- Overrides:
clear
in classSimObjectFactory<AbstractConditionFactory<Obj extends DoubleCondition>,
DramaSimulation, Obj extends DoubleCondition>
-
addToTimelineRequest
Description copied from class:SimObjectFactory
Request subclasses to add entries to the timeline. Each subclass adding entries should create a Callable that performs any necessary operations at the specified time, and that Callable should be returned via a call to addToTimelineResponse. Each subclass that implements addToTimelineRequest must call super.addToTimelineRequest(object, key, time) as the first statement in addToTimelineRequest.- Overrides:
addToTimelineRequest
in classSimObjectFactory<AbstractConditionFactory<Obj extends DoubleCondition>,
DramaSimulation, Obj extends DoubleCondition> - Parameters:
object
- the object being configured.key
- the timeline keytime
- the time for the timeline entry
-
initObject
Description copied from class:NamedObjectFactory
Initialize an object. This method will call the methods for the object necessary to initialize it based on how the factory was configured, and is called bycreateObject()
andcreateObjects
unless these methods are overridden. The default method does nothing. Subclasses that override this method to provide subclass-specific initializations must start with the statement "super.initObject(object);
".- Overrides:
initObject
in classSimObjectFactory<AbstractConditionFactory<Obj extends DoubleCondition>,
DramaSimulation, Obj extends DoubleCondition> - Parameters:
object
- the object to initialize
-