package de.ugoe.cs.autoquest.plugin.usability2.rules.metrics.visitor;

import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTaskInstance;
import de.ugoe.cs.autoquest.tasktrees.treeifc.IIterationInstance;
import de.ugoe.cs.autoquest.tasktrees.treeifc.IOptionalInstance;
import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelectionInstance;
import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequenceInstance;
import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance;

public interface IInstanceVisitor {

    public abstract void visit(ITaskInstance instance);

    public abstract void visit(IEventTaskInstance instance);
    
    public abstract void visit(IIterationInstance instance);
    
    public abstract void visit(IOptionalInstance instance);

    public abstract void visit(ISelectionInstance instance);

    public abstract void visit(ISequenceInstance instance);

}
