1
2
3
4 package net.sourceforge.pmd.lang.java.rule.design;
5
6 import net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck;
7 import net.sourceforge.pmd.lang.java.symboltable.NameOccurrence;
8 import net.sourceforge.pmd.util.CollectionUtil;
9
10
11
12
13
14
15
16 public class UseCollectionIsEmptyRule extends AbstractInefficientZeroCheck {
17
18 public boolean appliesToClassName(String name){
19 return CollectionUtil.isCollectionType(name, true);
20 }
21
22
23
24
25
26
27
28
29 public boolean isTargetMethod(NameOccurrence occ) {
30 if (occ.getNameForWhichThisIsAQualifier() != null) {
31 if (occ.getLocation().getImage().endsWith(".size")) {
32 return true;
33 }
34 }
35 return false;
36 }
37 }