Package javarepl.console.commands

Source Code of javarepl.console.commands.ReplayAllEvaluations

package javarepl.console.commands;

import com.googlecode.totallylazy.Sequence;
import javarepl.Evaluator;
import javarepl.completion.CommandCompleter;
import javarepl.console.ConsoleLogger;
import javarepl.expressions.Expression;

import static com.googlecode.totallylazy.Predicates.equalTo;
import static javarepl.EvaluationContext.defaultExpressions;
import static javarepl.console.commands.EvaluateExpression.evaluate;

public final class ReplayAllEvaluations extends Command {
    private static final String COMMAND = ":replay";
    private final Evaluator evaluator;
    private final ConsoleLogger logger;

    public ReplayAllEvaluations(Evaluator evaluator, ConsoleLogger logger) {
        super(COMMAND + " - replay all evaluations", equalTo(COMMAND), new CommandCompleter(COMMAND));
        this.evaluator = evaluator;
        this.logger = logger;
    }

    public void execute(String line) {
        logger.success("Replaying all evaluations:");
        Sequence<Expression> expressions = evaluator.expressions().deleteAll(defaultExpressions());

        evaluator.reset();
        for (Expression expression : expressions) {
            evaluate(evaluator, logger, expression.source());
        }
    }
}
TOP

Related Classes of javarepl.console.commands.ReplayAllEvaluations

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.