1 21 package proguard.classfile.visitor; 22 23 import proguard.classfile.*; 24 import proguard.util.*; 25 26 27 34 public class ClassNameFilter implements ClassVisitor 35 { 36 private StringMatcher regularExpressionMatcher; 37 private ClassVisitor classVisitor; 38 39 40 47 public ClassNameFilter(String regularExpression, 48 ClassVisitor classVisitor) 49 { 50 this.regularExpressionMatcher = new ClassNameListMatcher(regularExpression); 51 this.classVisitor = classVisitor; 52 } 53 54 55 57 public void visitProgramClass(ProgramClass programClass) 58 { 59 if (accepted(programClass.getName())) 60 { 61 classVisitor.visitProgramClass(programClass); 62 } 63 } 64 65 66 public void visitLibraryClass(LibraryClass libraryClass) 67 { 68 if (accepted(libraryClass.getName())) 69 { 70 classVisitor.visitLibraryClass(libraryClass); 71 } 72 } 73 74 75 77 private boolean accepted(String name) 78 { 79 return regularExpressionMatcher.matches(name); 80 } 81 } 82 | Popular Tags |