KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > james > transport > matchers > CommandListservMatcher


1 /***********************************************************************
2  * Copyright (c) 2000-2004 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 JavaDoc;
24
25 /**
26  * CommandListservMatcher is the matcher that pairs with the {@link org.apache.james.transport.mailets.CommandListservManager}
27  * It checks to see if the request is intended for the ListservManager, but doesn't guarantee that it is a valid command.
28  * <br />
29  * To configure, insert this into the config.xml inside of the root processor block.
30  * <pre>
31  * &lt;mailet match="CommandListservMatcher=announce@localhost" class="CommandListservManager"&gt;
32  * ...
33  * &lt;/mailet&gt;
34  * </pre>
35  *
36  * @version CVS $Revision: 1.1.2.3 $ $Date: 2004/03/15 03:54:21 $
37  * @since 2.2.0
38  * @see org.apache.james.transport.mailets.CommandListservManager
39  */

40 public class CommandListservMatcher extends GenericRecipientMatcher {
41
42     private MailAddress listservAddress;
43
44     public void init() throws MessagingException JavaDoc {
45         listservAddress = new MailAddress(getCondition());
46     }
47
48     /**
49      * This doesn't perform an exact match, but checks to see if the request is at lesast
50      * intended to go to the list serv manager.
51      * @param recipient
52      * @return true if matches, false otherwise
53      */

54     public boolean matchRecipient(MailAddress recipient) {
55         if (recipient.getHost().equals(listservAddress.getHost())) {
56             if (recipient.getUser().startsWith(listservAddress.getUser() + "-")) {
57                 return true;
58             }
59         }
60         return false;
61     }
62 }
63
Popular Tags