Class AbstractConfigurationStatisticsVisitor

java.lang.Object
net.ssehub.easy.varModel.confModel.AbstractConfigurationVisitor
net.ssehub.easy.varModel.confModel.AbstractConfigurationStatisticsVisitor
All Implemented Interfaces:
IConfigurationVisitor
Direct Known Subclasses:
DefaultConfigurationStatisticsVisitor

public abstract class AbstractConfigurationStatisticsVisitor extends AbstractConfigurationVisitor
Visitor for a Configuration to generate statistics of the configuration.
Author:
El-Sharkawy
  • Field Details

  • Constructor Details

  • Method Details

    • visitConfiguration

      public void visitConfiguration(Configuration configuration)
      Description copied from class: AbstractConfigurationVisitor
      Visits a configuration.
      Specified by:
      visitConfiguration in interface IConfigurationVisitor
      Overrides:
      visitConfiguration in class AbstractConfigurationVisitor
      Parameters:
      configuration - the configuration to visit
    • visitDecisionVariable

      public void visitDecisionVariable(IDecisionVariable variable)
      Description copied from interface: IConfigurationVisitor
      Visits a decision variable.
      Parameters:
      variable - the decision variable to visit
    • visitVariable

      public void visitVariable(IDecisionVariable variable, boolean nestedInContainer)
      Recursive part to visit all (nested) variables.
      Parameters:
      variable - The visited decision variable instance.
      nestedInContainer - true if the parent is a container, false otherwise.
    • visitRefines

      private void visitRefines(Compound cmp)
      Visits all refined compounds and collects statistics.
      Parameters:
      cmp - the compound to visit
    • processEvalConstraints

      protected void processEvalConstraints(PartialEvaluationBlock evalBlock)
      Processes constraints within an eval-block.
      Parameters:
      evalBlock - the block to process
    • visitVariableContainer

      protected void visitVariableContainer(IDecisionVariableContainer cnt)
      Processes elements within a variable container.
      Parameters:
      cnt - the container
    • visitAssignment

      protected void visitAssignment(AttributeAssignment assng)
      Processes attribute assignments.
      Parameters:
      assng - the assignment
    • getStatistics

      Returns the collected statistics.
      Returns:
      The collected statistics, will be empty if the visit method was not called before.
    • specialTreatment

      protected abstract void specialTreatment(IDecisionVariable variable)
      Optional hook to realize additional statistics for (nested) variables.
      Parameters:
      variable - A visited variable. This will be called for all variables, independently if they are m toplevel variables or if they are nested.
    • specialTreatment

      protected abstract void specialTreatment(Project mainProject)
      Optional hook to realize additional statistics for the underlying IVML project.
      Parameters:
      mainProject - Configuration.getProject().
    • visitConstraint

      protected void visitConstraint(Constraint constraint)
      Processes a constraint. Added later, so default implementation is empty.
      Parameters:
      constraint - the constraint to process (contained constraint may be null)
    • visitDefaultValue

      protected void visitDefaultValue(ConstraintSyntaxTree constraint)
      Processes a default value. Added later, so default implementation is empty.
      Parameters:
      constraint - the constraint to process (may be null)
    • visitOperationDefinition

      protected void visitOperationDefinition(OperationDefinition opdef)
      Processes an operation definition. Added later, so default implementation is empty.
      Parameters:
      opdef - the operation definition