001    package jp.osdl.jbento2.report;
002    
003    import java.io.File;
004    import java.util.regex.Matcher;
005    import java.util.regex.Pattern;
006    
007    public class FileMatcher {
008        
009        private static Pattern analyzeDirPattern = Pattern.compile(".*_(\\d*)");
010    
011        public static boolean isAnalyzeDir(File f) {
012            Matcher matcher = analyzeDirPattern.matcher(f.getName());
013            return matcher.matches();
014        }
015        
016        public static int compareAnalyzeDir(String str1, String str2) {
017            int number1 = -1;
018            int number2 = -1;
019            
020            Matcher matcher = analyzeDirPattern.matcher(str1);
021            if (matcher.matches()) {
022                number1 = Integer.parseInt(matcher.group(1));
023            }
024            matcher = analyzeDirPattern.matcher(str2);
025            if (matcher.matches()) {
026                number2 = Integer.parseInt(matcher.group(1));
027            }
028            
029            if (number1 == -1 || number2 == -1) {
030                return str1.compareTo(str2);
031            }
032            
033            return number1 - number2;
034        }
035    
036    }