Class RecordedOutputsWithRules

Object
RecordedOutputsWithRules

public class RecordedOutputsWithRules extends Object
Rules to determine what outputting occurs, together with maybe an entity that records the output-names that are used when writing / querying.
Author:
Owen Feehan
  • Constructor Details

    • RecordedOutputsWithRules

      public RecordedOutputsWithRules()
      Creates with no rules or outputs defined.
    • RecordedOutputsWithRules

      public RecordedOutputsWithRules(MultiLevelRecordedOutputs recordedOutputs, MultiLevelOutputEnabled defaultRules, OutputEnabledDelta delta)
      Creates with all elements defined.
      Parameters:
      recordedOutputs - where output-names are recorded as they are written / queried
      defaultRules - default rules for which outputs are enabled.
      delta - additional output-names to enable or disable from an existing set of output-enabled rules.
  • Method Details

    • selectOutputEnabled

      public MultiLevelOutputEnabled selectOutputEnabled(Optional<OutputEnabledRules> rulesHigherPrecedence)
      Selects which OutputEnabledRules to employ.

      The order of precedence is:

      1. rulesHigherPrecedence combined with user-supplied additions.
      2. defaultRules combined with user-supplied additions.

      Any user-supplied additional outputs are also added to both if they exist.

      Parameters:
      rulesHigherPrecedence - output-rules that are applied with highest-precedence, if they exist.
      Returns:
      a MultiLevelOutputEnabled that combines one of the two sources of rules with user-supplied additional outputs.
    • getRecordedOutputs

      public Optional<MultiLevelRecordedOutputs> getRecordedOutputs()
      If defined, records output-names that are written / not-written during the experiment.

      This only occurs for first-level outputs, not second-level outputs.