UseIndexOfCharRule.java
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 ((ASTLiteralarg).isSingleCharacterStringLiteral();
37     }
38 
39 }