1 /****************************************************************
2 * Licensed to the Apache Software Foundation (ASF) under one *
3 * or more contributor license agreements. See the NOTICE file *
4 * distributed with this work for additional information *
5 * regarding copyright ownership. The ASF licenses this file *
6 * to you under the Apache License, Version 2.0 (the *
7 * "License"); you may not use this file except in compliance *
8 * with the License. You may obtain a copy of the License at *
9 * *
10 * http://www.apache.org/licenses/LICENSE-2.0 *
11 * *
12 * Unless required by applicable law or agreed to in writing, *
13 * software distributed under the License is distributed on an *
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
15 * KIND, either express or implied. See the License for the *
16 * specific language governing permissions and limitations *
17 * under the License. *
18 ****************************************************************/
19
20
21 package org.apache.james.jspf.core;
22
23 /**
24 * This interface represent all the macros which can be used in SPF-Records.
25 * Read more here : http://www.ietf.org/rfc/rfc4408.txt Section 8
26 *
27 */
28 public interface MacroData {
29
30 /**
31 * Get current-senderpart (l)
32 *
33 * @return current-senderpart
34 */
35 public String getCurrentSenderPart();
36
37 /**
38 * Get responsible-sender (s)
39 *
40 * @return responsible-sender
41 */
42 public String getMailFrom();
43
44 /**
45 * Get sender-domain (h)
46 *
47 * @return sender-domain
48 */
49 public String getHostName();
50
51 /**
52 * Get current-domain (d)
53 *
54 * @return current-domain
55 */
56 public String getCurrentDomain();
57
58 /**
59 * Get inAddress (v)
60 *
61 * @return inAddress
62 */
63 public String getInAddress();
64
65 /**
66 * Get clientDomain (p)
67 *
68 * @return clientDomain
69 */
70 public String getClientDomain();
71
72 /**
73 * Get senderDomain (o)
74 *
75 * @return senderDomain
76 */
77 public String getSenderDomain();
78
79 /**
80 * Get sending-host (i)
81 *
82 * @return sending-host
83 */
84 public String getMacroIpAddress();
85
86 /**
87 * Get timeStamp (t)
88 *
89 * @return timeStamp
90 */
91 public long getTimeStamp();
92
93 /**
94 * Get readableIP (c)
95 *
96 * @return readableIP
97 */
98 public String getReadableIP();
99
100 /**
101 * Get receivingDomain (r)
102 *
103 * @return receivingDomain
104 */
105 public String getReceivingDomain();
106
107 }