package org.infernus.idea.checkstyle.service.cmd;
import com.intellij.openapi.project.Project;
import com.puppycrawl.tools.checkstyle.Checker;
import org.infernus.idea.checkstyle.csapi.CheckstyleInternalObject;
import org.infernus.idea.checkstyle.exception.CheckstyleVersionMixException;
import org.infernus.idea.checkstyle.service.entities.HasChecker;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Destroy a checker instance.
*/
public class OpDestroyChecker
implements CheckstyleCommand<Void> {
private final Checker checker;
public OpDestroyChecker(@NotNull final CheckstyleInternalObject checker) {
if (!(checker instanceof HasChecker)) {
throw new CheckstyleVersionMixException(HasChecker.class, checker);
}
this.checker = ((HasChecker) checker).getChecker();
}
@Nullable
@Override
public Void execute(@NotNull final Project project) {
checker.destroy();
return null;
}
}