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
Visitor for a
Configuration to generate statistics of the configuration.- Author:
- El-Sharkawy
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classGathered statistical information of the visited configuration. -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractConfigurationStatisticsVisitor(AbstractConfigurationStatisticsVisitor.ConfigStatistics statistics) Sole constructor of this class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the collected statistics.protected voidprocessEvalConstraints(PartialEvaluationBlock evalBlock) Processes constraints within an eval-block.protected abstract voidspecialTreatment(IDecisionVariable variable) Optional hook to realize additional statistics for (nested) variables.protected abstract voidspecialTreatment(Project mainProject) Optional hook to realize additional statistics for the underlying IVML project.protected voidProcesses attribute assignments.voidvisitConfiguration(Configuration configuration) Visits a configuration.protected voidvisitConstraint(Constraint constraint) Processes a constraint.voidvisitDecisionVariable(IDecisionVariable variable) Visits a decision variable.protected voidvisitDefaultValue(ConstraintSyntaxTree constraint) Processes a default value.protected voidProcesses an operation definition.private voidvisitRefines(Compound cmp) Visits all refined compounds and collects statistics.voidvisitVariable(IDecisionVariable variable, boolean nestedInContainer) Recursive part to visit all (nested) variables.protected voidProcesses elements within a variable container.
-
Field Details
-
statistics
Collected statistics. -
projectVisitor
Project visitor.
-
-
Constructor Details
-
AbstractConfigurationStatisticsVisitor
protected AbstractConfigurationStatisticsVisitor(AbstractConfigurationStatisticsVisitor.ConfigStatistics statistics) Sole constructor of this class.- Parameters:
statistics- A data object to store the statistical information.
-
-
Method Details
-
visitConfiguration
Description copied from class:AbstractConfigurationVisitorVisits a configuration.- Specified by:
visitConfigurationin interfaceIConfigurationVisitor- Overrides:
visitConfigurationin classAbstractConfigurationVisitor- Parameters:
configuration- the configuration to visit
-
visitDecisionVariable
Description copied from interface:IConfigurationVisitorVisits a decision variable.- Parameters:
variable- the decision variable to visit
-
visitVariable
Recursive part to visit all (nested) variables.- Parameters:
variable- The visited decision variable instance.nestedInContainer-trueif the parent is a container,falseotherwise.
-
visitRefines
Visits all refined compounds and collects statistics.- Parameters:
cmp- the compound to visit
-
processEvalConstraints
Processes constraints within an eval-block.- Parameters:
evalBlock- the block to process
-
visitVariableContainer
Processes elements within a variable container.- Parameters:
cnt- the container
-
visitAssignment
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
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
Optional hook to realize additional statistics for the underlying IVML project.- Parameters:
mainProject-Configuration.getProject().
-
visitConstraint
Processes a constraint. Added later, so default implementation is empty.- Parameters:
constraint- the constraint to process (contained constraint may be null)
-
visitDefaultValue
Processes a default value. Added later, so default implementation is empty.- Parameters:
constraint- the constraint to process (may be null)
-
visitOperationDefinition
Processes an operation definition. Added later, so default implementation is empty.- Parameters:
opdef- the operation definition
-