This example takes an email address from the configuration file, and rejects any messages sent to that address.
/* * SimpleRecipientRejectFilter.java * * Created on December 1, 2004, 4:45 PM */ package xms.filter.recipient; import xms.filter.*; import xms.configuration.bean.*; import xms.configuration.bean.attribute.*; import xms.message.StatusCode; /** * * @author stephen */ public class SimpleRecipientRejectFilter implements RecipientFilter, Configurable, Filter { private String rejectAddress; public void configure(ConfigurationBean configuration) throws Exception { RejectBean cfg = (RejectBean)configuration; rejectAddress = cfg.getAddress().getValue().toLowerCase(); } public ConfigurationBean newConfigurationBean() { return new RejectBean(); } public void register(FilterHost filterHost) throws Exception { filterHost.registerFilter(this, RecipientFilter.class); } public void init() throws Exception { } public void destroy() { } public void filterRecipient(FilterContext filterContext, String recipient, java.util.List<String> list) { if (recipient.equalsIgnoreCase(rejectAddress)) { filterContext.complete(StatusCode.CodeClass.REJECT); } else { filterContext.complete(StatusCode.CodeClass.CONTINUE); } } public static class RejectBean extends FilterConfig { StringAttribute address = new StringAttribute("Reject Address", "If the recipient matches this address mail is blocked", null, true, true); public String getFriendlyName() { return "Recipient Reject Filter"; } public StringAttribute getAddress() { return address; } public String getBeanDescription() { return "Rejects mail to a given recipient"; } } }