public interface IProceduralModule extends IModule
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_PRODUCTION_FIRING_TIME |
static java.lang.String |
NUMBER_OF_PRODUCTIONS_FIRED |
Modifier and Type | Method and Description |
---|---|
void |
addListener(IProceduralModuleListener listener,
java.util.concurrent.Executor executor) |
java.util.concurrent.CompletableFuture<IProduction> |
addProduction(IProduction production)
add this production to procedural memory and check for duplicates
|
java.util.concurrent.CompletableFuture<IProduction> |
createProduction(java.lang.String name)
create a production, likely backed by the factory
|
java.util.concurrent.CompletableFuture<java.lang.Double> |
fireProduction(IInstantiation instantiation,
double firingTime)
actually executed the production returning the amount of time it took to
fire this production and fire notification events.
|
java.util.concurrent.CompletableFuture<java.util.Collection<IInstantiation>> |
getConflictSet(java.util.Collection<IActivationBuffer> buffers)
find the set of production instantiations that can fire based on the state
of the buffers and fire the notification events
|
IConflictSetAssembler |
getConflictSetAssembler() |
double |
getDefaultProductionFiringTime()
the default production firing time, aka default action time
|
long |
getNumberOfProductionsFired() |
java.util.concurrent.CompletableFuture<IProduction> |
getProduction(java.lang.String name)
return the named production
|
IProductionInstantiator |
getProductionInstantiator() |
java.util.concurrent.CompletableFuture<java.util.Collection<IProduction>> |
getProductions()
return all the productions
|
IProductionSelector |
getProductionSelector() |
void |
removeListener(IProceduralModuleListener listener) |
java.util.concurrent.CompletableFuture<IInstantiation> |
selectInstantiation(java.util.Collection<IInstantiation> instantiations) |
void |
setConflictSetAssembler(IConflictSetAssembler assembler) |
void |
setDefaultProductionFiringTime(double firingTime) |
void |
setNumberOfProductionsFired(long fired) |
void |
setProductionInstantiator(IProductionInstantiator instantiator) |
void |
setProductionSelector(IProductionSelector selector) |
dispose, getModel, getName, initialize, install, reset
uninstall
getAdapter
static final java.lang.String DEFAULT_PRODUCTION_FIRING_TIME
static final java.lang.String NUMBER_OF_PRODUCTIONS_FIRED
java.util.concurrent.CompletableFuture<IProduction> createProduction(java.lang.String name)
name
- java.util.concurrent.CompletableFuture<IProduction> addProduction(IProduction production)
production
- java.util.concurrent.CompletableFuture<IProduction> getProduction(java.lang.String name)
name
- java.util.concurrent.CompletableFuture<java.util.Collection<IProduction>> getProductions()
java.util.concurrent.CompletableFuture<java.util.Collection<IInstantiation>> getConflictSet(java.util.Collection<IActivationBuffer> buffers)
buffers
- java.util.concurrent.CompletableFuture<java.lang.Double> fireProduction(IInstantiation instantiation, double firingTime)
instantiation
- firingTime
- TODOjava.util.concurrent.CompletableFuture<IInstantiation> selectInstantiation(java.util.Collection<IInstantiation> instantiations)
void addListener(IProceduralModuleListener listener, java.util.concurrent.Executor executor)
void removeListener(IProceduralModuleListener listener)
double getDefaultProductionFiringTime()
void setDefaultProductionFiringTime(double firingTime)
long getNumberOfProductionsFired()
void setNumberOfProductionsFired(long fired)
void setProductionSelector(IProductionSelector selector)
IProductionSelector getProductionSelector()
void setProductionInstantiator(IProductionInstantiator instantiator)
IProductionInstantiator getProductionInstantiator()
void setConflictSetAssembler(IConflictSetAssembler assembler)
IConflictSetAssembler getConflictSetAssembler()