/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.lang.apex.rule.style; import java.util.List; import net.sourceforge.pmd.lang.apex.ast.ASTBlockStatement; import net.sourceforge.pmd.lang.apex.ast.ASTUserTrigger; import net.sourceforge.pmd.lang.apex.rule.AbstractApexRule; public class AvoidLogicInTriggerRule extends AbstractApexRule { public AvoidLogicInTriggerRule() { setProperty(CODECLIMATE_CATEGORIES, new String[] { "Style" }); setProperty(CODECLIMATE_REMEDIATION_MULTIPLIER, 200); setProperty(CODECLIMATE_BLOCK_HIGHLIGHTING, false); } @Override public Object visit(ASTUserTrigger node, Object data) { List<ASTBlockStatement> blockStatements = node.findDescendantsOfType(ASTBlockStatement.class); if (!blockStatements.isEmpty()) { addViolation(data, node); } return data; } }