001 /****************************************************************
002 * Licensed to the Apache Software Foundation (ASF) under one *
003 * or more contributor license agreements. See the NOTICE file *
004 * distributed with this work for additional information *
005 * regarding copyright ownership. The ASF licenses this file *
006 * to you under the Apache License, Version 2.0 (the *
007 * "License"); you may not use this file except in compliance *
008 * with the License. You may obtain a copy of the License at *
009 * *
010 * http://www.apache.org/licenses/LICENSE-2.0 *
011 * *
012 * Unless required by applicable law or agreed to in writing, *
013 * software distributed under the License is distributed on an *
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
015 * KIND, either express or implied. See the License for the *
016 * specific language governing permissions and limitations *
017 * under the License. *
018 ****************************************************************/
019
020
021 package org.apache.james.jspf.core;
022
023 /**
024 * This interface represent all the macros which can be used in SPF-Records.
025 * Read more here : http://www.ietf.org/rfc/rfc4408.txt Section 8
026 *
027 */
028 public interface MacroData {
029
030 /**
031 * Get current-senderpart (l)
032 *
033 * @return current-senderpart
034 */
035 public String getCurrentSenderPart();
036
037 /**
038 * Get responsible-sender (s)
039 *
040 * @return responsible-sender
041 */
042 public String getMailFrom();
043
044 /**
045 * Get sender-domain (h)
046 *
047 * @return sender-domain
048 */
049 public String getHostName();
050
051 /**
052 * Get current-domain (d)
053 *
054 * @return current-domain
055 */
056 public String getCurrentDomain();
057
058 /**
059 * Get inAddress (v)
060 *
061 * @return inAddress
062 */
063 public String getInAddress();
064
065 /**
066 * Get clientDomain (p)
067 *
068 * @return clientDomain
069 */
070 public String getClientDomain();
071
072 /**
073 * Get senderDomain (o)
074 *
075 * @return senderDomain
076 */
077 public String getSenderDomain();
078
079 /**
080 * Get sending-host (i)
081 *
082 * @return sending-host
083 */
084 public String getMacroIpAddress();
085
086 /**
087 * Get timeStamp (t)
088 *
089 * @return timeStamp
090 */
091 public long getTimeStamp();
092
093 /**
094 * Get readableIP (c)
095 *
096 * @return readableIP
097 */
098 public String getReadableIP();
099
100 /**
101 * Get receivingDomain (r)
102 *
103 * @return receivingDomain
104 */
105 public String getReceivingDomain();
106
107 }