1 package net.sourceforge.pmd.lang.java.rule.strings;
2
3 import net.sourceforge.pmd.lang.ast.Node;
4 import net.sourceforge.pmd.lang.java.ast.ASTLiteral;
5 import net.sourceforge.pmd.lang.java.rule.AbstractPoorMethodCall;
6
7
8
9 public class UseIndexOfCharRule extends AbstractPoorMethodCall {
10
11 private static final String TARGET_TYPE_NAME = "String";
12 private static final String[] METHOD_NAMES = new String[] { "indexOf", "lastIndexOf" };
13
14
15
16
17
18 @Override
19 protected String targetTypename() {
20 return TARGET_TYPE_NAME;
21 }
22
23
24
25
26
27 @Override
28 protected String[] methodNames() {
29 return METHOD_NAMES;
30 }
31
32
33
34
35 protected boolean isViolationArgument(Node arg) {
36 return ((ASTLiteral) arg).isSingleCharacterStringLiteral();
37 }
38
39 }