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