1 /************************************************************************ 2 * Copyright (c) 2000-2006 The Apache Software Foundation. * 3 * All rights reserved. * 4 * ------------------------------------------------------------------- * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you * 6 * may not use this file except in compliance with the License. You * 7 * may obtain a copy of the License at: * 8 * * 9 * http://www.apache.org/licenses/LICENSE-2.0 * 10 * * 11 * Unless required by applicable law or agreed to in writing, software * 12 * distributed under the License is distributed on an "AS IS" BASIS, * 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * 14 * implied. See the License for the specific language governing * 15 * permissions and limitations under the License. * 16 ***********************************************************************/ 17 18 package org.apache.james.transport.matchers; 19 20 import org.apache.mailet.GenericRecipientMatcher; 21 import org.apache.mailet.MailAddress; 22 23 import javax.mail.MessagingException; 24 25 /*** 26 * Returns positive if the recipient is a command for a listserv. For example, 27 * if my listserv is james@list.working-dogs.com, this matcher will return true 28 * for james-on@list.working-dogs.com and james-off@list.working-dogs.com. 29 * 30 */ 31 public class CommandForListserv extends GenericRecipientMatcher { 32 33 private MailAddress listservAddress; 34 35 public void init() throws MessagingException { 36 listservAddress = new MailAddress(getCondition()); 37 } 38 39 public boolean matchRecipient(MailAddress recipient) { 40 if (recipient.getHost().equals(listservAddress.getHost())) { 41 if (recipient.getUser().equals(listservAddress.getUser() + "-on") 42 || recipient.getUser().equals(listservAddress.getUser() + "-off")) { 43 return true; 44 } 45 } 46 return false; 47 } 48 }