01 package net.sourceforge.pmd.lang.java.rule.strings;
02
03 import net.sourceforge.pmd.lang.ast.Node;
04 import net.sourceforge.pmd.lang.java.ast.ASTLiteral;
05 import net.sourceforge.pmd.lang.java.rule.AbstractPoorMethodCall;
06
07 /**
08 */
09 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 * Method targetTypeName.
16 * @return String
17 */
18 @Override
19 protected String targetTypename() {
20 return TARGET_TYPE_NAME;
21 }
22
23 /**
24 * Method methodNames.
25 * @return String[]
26 */
27 @Override
28 protected String[] methodNames() {
29 return METHOD_NAMES;
30 }
31
32 /**
33 * {@inheritDoc}
34 */
35 protected boolean isViolationArgument(Node arg) {
36 return ((ASTLiteral) arg).isSingleCharacterStringLiteral();
37 }
38
39 }
|