1 /************************************************************************
2 * Copyright (c) 1999-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.mailet;
19
20 /***
21 * A matcher configuration object used by a mailet container used to pass information
22 * to a matcher during initialization.
23 * <p>
24 * The configuration information contains an initialization parameter,
25 * which is set as a condition String, and a MailetContext object,
26 * which gives the mailet information about the mailet container.
27 *
28 * @version 1.0.0, 24/04/1999
29 */
30 public interface MatcherConfig {
31
32 /***
33 * The simple condition defined for this matcher, e.g., for
34 * SenderIs=admin@localhost, this would return admin@localhost.
35 *
36 * @return a String containing the value of the initialization parameter
37 */
38 String getCondition();
39
40 /***
41 * Returns a reference to the MailetContext in which the matcher is executing
42 *
43 * @return a MailetContext object, used by the matcher to interact with its
44 * mailet container
45 */
46 MailetContext getMailetContext();
47
48 /***
49 * Returns the name of this matcher instance. The name may be provided via server
50 * administration, assigned in the application deployment descriptor, or for
51 * an unregistered (and thus unnamed) matcher instance it will be the matcher's
52 * class name.
53 *
54 * @return the name of the matcher instance
55 */
56 String getMatcherName();
57 }