org.apache.james.mailet.standard.matchers
Class GenericRegexMatcher

java.lang.Object
  extended by org.apache.mailet.base.GenericMatcher
      extended by org.apache.james.mailet.standard.matchers.GenericRegexMatcher
All Implemented Interfaces:
Matcher, MatcherConfig
Direct Known Subclasses:
FileRegexMatcher, NESSpamCheck

public abstract class GenericRegexMatcher
extends GenericMatcher

This is a generic matcher that uses regular expressions. If any of the regular expressions match, the matcher is considered to have matched. This is an abstract class that must be subclassed to feed patterns. Patterns are provided by calling the compile method. A subclass will generally call compile() once during init(), but it could subclass match(), and call it as necessary during message processing (e.g., if a file of expressions changed).


Field Summary
protected  Object[][] patterns
           
 
Constructor Summary
GenericRegexMatcher()
           
 
Method Summary
 void compile(Object[][] patterns)
           
abstract  void init()
          A convenience method which can be overridden so that there's no need to call super.init(config).
 Collection<MailAddress> match(Mail mail)
          Called by the matcher container to allow the matcher to process a message.
 
Methods inherited from class org.apache.mailet.base.GenericMatcher
destroy, getCondition, getMailetContext, getMatcherConfig, getMatcherInfo, getMatcherName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

patterns

protected Object[][] patterns
Constructor Detail

GenericRegexMatcher

public GenericRegexMatcher()
Method Detail

compile

public void compile(Object[][] patterns)
             throws PatternSyntaxException
Throws:
PatternSyntaxException

init

public abstract void init()
                   throws javax.mail.MessagingException
Description copied from class: GenericMatcher

A convenience method which can be overridden so that there's no need to call super.init(config).

Instead of overriding init(MatcherConfig), simply override this method and it will be called by GenericMatcher.init(MatcherConfig config). The MatcherConfig object can still be retrieved via getMatcherConfig().

Overrides:
init in class GenericMatcher
Throws:
javax.mail.MessagingException - if an exception occurs that interrupts the matcher's normal operation
See Also:
org.apache.mailet.GenericMatcher#GenericMatcher()

match

public Collection<MailAddress> match(Mail mail)
                              throws javax.mail.MessagingException
Description copied from class: GenericMatcher

Called by the matcher container to allow the matcher to process a message.

This method is declared abstract so subclasses must override it.

Specified by:
match in interface Matcher
Specified by:
match in class GenericMatcher
Parameters:
mail - - the Mail object that contains the MimeMessage and routing information
Returns:
java.util.Collection - the recipients that the mailet container should have the mailet affect.
Throws:
javax.mail.MessagingException - if any error occurs which prevents the Mail matching from completing successfully
See Also:
org.apache.mailet.GenericMatcher#match(Mail)


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.