FileDocCategorySizeDatePackage
FileRegexMatcher.javaAPI DocApache James 2.3.12931Fri Jan 12 12:56:32 GMT 2007org.apache.james.transport.matchers

FileRegexMatcher

public class FileRegexMatcher extends GenericRegexMatcher
Initializes RegexMatcher with regular expressions from a file.

Fields Summary
Constructors Summary
Methods Summary
public voidinit()

        java.io.RandomAccessFile patternSource = null;
        try {
            patternSource = new java.io.RandomAccessFile(getCondition(), "r");
            int lines = 0;
            while(patternSource.readLine() != null) lines++;
            patterns = new Object[lines][2];
            patternSource.seek(0);
            for (int i = 0; i < lines; i++) {
                String line = patternSource.readLine();
                patterns[i][0] = line.substring(0, line.indexOf(':"));
                patterns[i][1] = line.substring(line.indexOf(':")+1);
            }          
            compile(patterns);
                  
        }
        catch (java.io.FileNotFoundException fnfe) {
            throw new MessagingException("Could not locate patterns.", fnfe);
        }
        catch (java.io.IOException ioe) {
            throw new MessagingException("Could not read patterns.", ioe);
        }
        catch(MalformedPatternException mp) {
            throw new MessagingException("Could not initialize regex patterns", mp);
        } finally {
            if (patternSource != null) {
                // close the file
                try {
                    patternSource.close();
                } catch (IOException e) {
                    // just ignore on close
                }
            }
        }