Package modelarium.results
Class FunctionalResults
java.lang.Object
modelarium.results.Results
modelarium.results.FunctionalResults
- All Implemented Interfaces:
DeepCopyable<Results>
A functional implementation of
Results that allows users to define
accumulation logic using functional interfaces.
Useful in scenarios where subclassing is inconvenient or where logic should be defined externally (e.g., via Python).
-
Constructor Summary
ConstructorsConstructorDescriptionFunctionalResults(QuadFunction<String, String, List<?>, List<?>, List<?>> accumulateProperty, QuadFunction<String, String, List<Boolean>, List<Boolean>, List<?>> accumulatePreEvent, QuadFunction<String, String, List<Boolean>, List<Boolean>, List<?>> accumulatePostEvent) Constructs a new FunctionalResults instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected List<?> accumulateAgentPostEventResults(String attributeSetName, String postEventName, List<?> accumulatedValues, List<Boolean> valuesToBeProcessed) Subclasses must define how to accumulate agent post-event values.protected List<?> accumulateAgentPreEventResults(String attributeSetName, String preEventName, List<?> accumulatedValues, List<Boolean> valuesToBeProcessed) Subclasses must define how to accumulate agent pre-event values.protected List<?> accumulateAgentPropertyResults(String attributeSetName, String propertyName, List<?> accumulatedValues, List<?> valuesToBeProcessed) Subclasses must define how to accumulate agent property values.Methods inherited from class modelarium.results.Results
accumulateAgentAttributeData, deepCopy, disconnectAccumulatedDatabases, disconnectAllDatabases, disconnectRawDatabases, getAccumulatedAgentPostEventValues, getAccumulatedAgentPreEventValues, getAccumulatedAgentPropertyValues, getAccumulatedEnvironmentPostEventValues, getAccumulatedEnvironmentPreEventValues, getAccumulatedEnvironmentPropertyValues, getAgentNames, getAgentPostEventValues, getAgentPreEventValues, getAgentPropertyValues, getEnvironmentPostEventValues, getEnvironmentPreEventValues, getEnvironmentPropertyValues, mergeWithBeforeAccumulation, processEnvironmentAttributeData, processEnvironmentPostEventResults, processEnvironmentPreEventResults, processEnvironmentPropertyResults, seal, setAgentNames, setAgentNames, setAgentResults, setEnvironmentResults
-
Constructor Details
-
FunctionalResults
public FunctionalResults(QuadFunction<String, String, List<?>, List<?>, List<?>> accumulateProperty, QuadFunction<String, String, List<Boolean>, List<Boolean>, List<?>> accumulatePreEvent, QuadFunction<String, String, List<Boolean>, List<Boolean>, List<?>> accumulatePostEvent) Constructs a new FunctionalResults instance.- Parameters:
accumulateProperty- logic for accumulating agent property valuesaccumulatePreEvent- logic for accumulating agent pre-event valuesaccumulatePostEvent- logic for accumulating agent post-event values
-
-
Method Details
-
accumulateAgentPropertyResults
protected List<?> accumulateAgentPropertyResults(String attributeSetName, String propertyName, List<?> accumulatedValues, List<?> valuesToBeProcessed) Description copied from class:ResultsSubclasses must define how to accumulate agent property values.- Specified by:
accumulateAgentPropertyResultsin classResults
-
accumulateAgentPreEventResults
protected List<?> accumulateAgentPreEventResults(String attributeSetName, String preEventName, List<?> accumulatedValues, List<Boolean> valuesToBeProcessed) Description copied from class:ResultsSubclasses must define how to accumulate agent pre-event values.- Specified by:
accumulateAgentPreEventResultsin classResults
-
accumulateAgentPostEventResults
protected List<?> accumulateAgentPostEventResults(String attributeSetName, String postEventName, List<?> accumulatedValues, List<Boolean> valuesToBeProcessed) Description copied from class:ResultsSubclasses must define how to accumulate agent post-event values.- Specified by:
accumulateAgentPostEventResultsin classResults
-