1 17 package org.alfresco.jcr.item; 18 19 import java.util.ArrayList ; 20 import java.util.List ; 21 import java.util.StringTokenizer ; 22 23 import org.alfresco.service.namespace.NamespacePrefixResolver; 24 import org.alfresco.service.namespace.QName; 25 import org.alfresco.service.namespace.QNamePattern; 26 27 48 public class JCRPatternMatch implements QNamePattern 49 { 50 private List <String > searches = new ArrayList <String >(); 51 private NamespacePrefixResolver resolver; 52 53 54 59 public JCRPatternMatch(String pattern, NamespacePrefixResolver resolver) 60 { 61 63 String regexPattern = pattern.replaceAll("\\*", ".*"); 65 66 StringTokenizer tokenizer = new StringTokenizer (regexPattern, "|", false); 68 while (tokenizer.hasMoreTokens()) 69 { 70 String disjunct = tokenizer.nextToken().trim(); 71 this.searches.add(disjunct); 72 } 73 74 this.resolver = resolver; 75 } 76 77 80 public boolean isMatch(QName qname) 81 { 82 String prefixedName = qname.toPrefixString(resolver); 83 for (String search : searches) 84 { 85 if (prefixedName.matches(search)) 86 { 87 return true; 88 } 89 } 90 return false; 91 } 92 93 } 94 | Popular Tags |